BoxLayout不能共享错误,试图在JFrame中容纳两个JPanels

时间:2018-08-02 15:20:57

标签: java swing jframe jpanel

尝试在一个框架中放置2个面板,顶部一个小面板,其余的填充一个面板。这段代码会返回“无法共享BoxLayout”错误。

        JFrame frame = new JFrame("Clients");
        frame.setSize(1000,900);

        JPanel sorters = new JPanel();
        sorters.setSize(1000, 100);
        frame.getContentPane().add(sorters);

        JPanel rowPane = new JPanel();
        JScrollPane scrPane = new JScrollPane(rowPane, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        scrPane.setSize(1000, 800);
        frame.getContentPane().add(scrPane);

        frame.getContentPane().setLayout(new BoxLayout(frame, BoxLayout.Y_AXIS));

1 个答案:

答案 0 :(得分:1)

BoxLayout必须将其实际应用的容器作为第一个参数,在您的情况下,该容器是框架的contentPane:

frame.getContentPane().setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));