我正在制作一个有趣的程序,它基本上是一个计算机导航GUI,不需要详细信息:)
无论如何,到目前为止,我有一个名为“新按钮”的按钮,当点击它时,它会创建一个名为“test”的新按钮,无限量。现在,我的GUI设置如下:
Class Main扩展了JPanel(包含所有内容的主面板,大小设置为)
Dimension size = new Dimension(300, 200);
setPreferredSize(size);
JFrame持有主JPanel,名称如下:
panel.frame = new JFrame();
panel.frame.setResizable(false);
panel.frame.setTitle(panel.title);
panel.frame.add(panel);
panel.frame.pack();
panel.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.frame.setLocationRelativeTo(null);
panel.frame.setVisible(true);
那么,我如何根据其中的组件设置JFrame / JPanel的大小?我试过使用panel.frame.pack();但是我大多数时候都会收到错误,而有时它不会包装错误,这只是一个直线。我希望它以正方形的形式调整大小。有任何想法吗?对不起,如果我的问题不清楚/措辞不好,我总是有问题在网上表达问题,更好的是因为我可以用我的双手! :)提前致谢!
答案 0 :(得分:2)
Class Main扩展了JPanel(包含所有内容的主面板,尺寸设置为)Dimension size = new Dimension(300,200);了setPreferredSize(大小);
不要设置面板的首选大小。布局管理器将根据您添加到面板的组件确定首选大小。
而其他时候它没有包裹,
JPanel的默认布局管理器是FlowLayout。它不是为自动换行而设计的。也许使用不同的布局管理器。或者您可以尝试Wrap Layout扩展FlowLayout以提供动态包装。
我尝试过使用panel.frame.pack();但我大部分时间都会收到错误
什么错误。我在使用pack()方法时从未见过错误。
如果您需要更多帮助,请发布适当的SSCCE。