我不知道如何解决这个问题,我在使用BoxLayout的主JPanel中有几个JPanels(用于绘图)。 JPanels具有最小尺寸和首选尺寸。主要的JPanel只显示五个中的三个,因为它太小了。我尝试将主要JPanel的大小设置得相当大,并尝试添加一个scroler但是没有任何显示。
以下是一些代码:
public static void main(String[] args) throws XMLStreamException, IOException {
JFrame frame = makeFrame(500, 500);
JPanel panel = new JPanel();
panel.setSize(1800, 1800);
JScrollPane scroller = new JScrollPane(panel);
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
frame.add(scroller);
test1(panel);
}
public static JFrame makeFrame(int sizex, int sizey){
JFrame frame = new JFrame();
frame.setTitle("FDA");
frame.setSize(sizex, sizey);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
return frame;
}
test1
将六个尺寸为360x360的JPanel添加到panel
。
使用滚动条我只能看到其中一个JPanel,并且不会显示滚动条。
编辑:在绘制主JPanel之前,我必须等到我的所有计算完成,这就是为什么它没有显示最后的3个。
答案 0 :(得分:2)
frame.setVisible(true);
在创建并添加JComponents
之前执行(对此已经可见的JFrame)
请问test1(panel);