如何在 运行 时间 Java Swing 中修改 JPanel 大小
How to modify the JPanel size in run time Java Swing
我正在尝试在最大化 window 时修改 JPanel 大小。
活动正常进行,但新尺寸不起作用。
private void resize(String type){
if(type.equals("maximized")){
System.out.println(panel_menu.getLocation());
panel_menu.setPreferredSize(new Dimension(panel_menu.getWidth(), d.height));
panel_menu.revalidate();
}
}
这就是当我最大化 window 时面板所做的事情,但是当我单击最大化按钮时 JPanel 不会改变大小。
有什么帮助吗?谢谢!
您通常不要直接修改 JPanel 大小,而是
- 使用布局管理器和嵌套 JPanel 的智能组合来为您调整大小
- 有时重写 JPanel 上的
public Dimension getPreferredSize()
以允许它 巧妙地 调整自身大小,但这样做时要小心,并且通常尊重 super.getPreferredSize()
结果你的覆盖。
我正在尝试在最大化 window 时修改 JPanel 大小。
活动正常进行,但新尺寸不起作用。
private void resize(String type){
if(type.equals("maximized")){
System.out.println(panel_menu.getLocation());
panel_menu.setPreferredSize(new Dimension(panel_menu.getWidth(), d.height));
panel_menu.revalidate();
}
}
这就是当我最大化 window 时面板所做的事情,但是当我单击最大化按钮时 JPanel 不会改变大小。
有什么帮助吗?谢谢!
您通常不要直接修改 JPanel 大小,而是
- 使用布局管理器和嵌套 JPanel 的智能组合来为您调整大小
- 有时重写 JPanel 上的
public Dimension getPreferredSize()
以允许它 巧妙地 调整自身大小,但这样做时要小心,并且通常尊重super.getPreferredSize()
结果你的覆盖。