我在使用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 大小是在方法结束时设置的...... -.-