JSplitPane 未显示



我在使用JSplitPane时遇到问题,我将组件设置为JSplitPane,但没有任何显示。代码如下:

/**__COMPONENT OBJECTS__**/
    JFrame frame = new JFrame();
    JPanel leftPane = new JPanel();
    JPanel rightPane = new JPanel();
    JTextArea textArea = new JTextArea();
    JButton button = new JButton("LOL");
    JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
    /**__SPLITPANE-PROPS__**/
    splitPane.setLeftComponent(leftPane);
    splitPane.setRightComponent(rightPane);
    splitPane.setLayout(null);
    splitPane.setSize(frame.getWidth(), frame.getHeight() - menuBar.getHeight());
    splitPane.setVisible(true);
    splitPane.setLocation(0,menuBar.getHeight());
    int ht = splitPane.getHeight();
    /**__RIGHTPANE-PROPS__**/
    rightPane.add(textArea);
    rightPane.setSize(500, ht);
    rightPane.setVisible(true);
    /**__LEFTPANE-PROPS__**/
    leftPane.add(button);
    leftPane.setSize(100, ht);
    leftPane.setVisible(true);
    /**__FRAME-PROPS__**/
    frame.setJMenuBar(menuBar);
    frame.add(splitPane);
    frame.setLayout(new GridLayout());
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.setSize(500,400);
    frame.setVisible(true);

有人可以帮忙吗?

我已经做了一些修改,它工作正常

    public class ddd
{
    JFrame frame = new JFrame();
    JPanel leftPane = new JPanel();
    JPanel rightPane = new JPanel();
    JTextArea textArea = new JTextArea();
    JButton button = new JButton("LOL");
    JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);

    public ddd()
    {
    /** __COMPONENT OBJECTS__ **/

    splitPane.setLeftComponent(leftPane);
    splitPane.setRightComponent(rightPane);
    splitPane.setLayout(null);
//  splitPane.setSize(frame.getWidth(), frame.getHeight() - menuBar.getHeight());
    splitPane.setVisible(true);
//  splitPane.setLocation(0, menuBar.getHeight());
    /** __RIGHTPANE-PROPS__ **/
    rightPane.add(textArea);
    rightPane.setSize(500, 100);
    rightPane.setVisible(true);

    /** __LEFTPANE-PROPS__ **/
    leftPane.add(button);
    leftPane.setSize(100, 100);
    leftPane.setVisible(true);
    /** __FRAME-PROPS__ **/
    frame.add(splitPane);
    frame.setLayout(new GridLayout());
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.setSize(500, 400);
    frame.setVisible(true);
    }
    public static void main(String[] args)
    {
    new ddd();
    }
}

它工作正常

关系,问题如下:我用JFrame大小设置了JSplitPanel,但 JFrame 大小是在方法结束时设置的...... -.-

相关内容

  • 没有找到相关文章

最新更新