[英]How to make JPanel size apply to JFrame?
我对JPanel
的大小没有增加JFrame
的大小有疑问。
这是我的代码:
package pong;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel p = new JPanel();
p.setPreferredSize(new Dimension(500, 500));
frame.add(p);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
}
即使面板的首选尺寸为 500 x 500 像素,框架的显示宽度或高度也很小。
JFrame 的显示宽度或高度很小,
代码应该是:
frame.pack(); // added
frame.setVisible(true);
pack()
方法将调用框架使用的布局管理器,所有 Swing 组件将以其首选大小显示。
此外,作为一般规则,不需要手动设置面板的首选大小,因为您将向面板添加组件,因此首选大小应基于您添加到面板的组件。
阅读 Swing 教程中有关使用布局管理器的部分,了解更多信息和示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.