如何在运行时Java Swing中修改JPanel大小

问题描述 投票:-1回答:1

当我最大化窗口时,我正在尝试修改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();
    }
}

[这是我最大化窗口时面板所做的,但是当我单击最大化按钮时,JPanel不会更改大小。

有帮助吗?谢谢!

java swing netbeans jpanel
1个回答
1
投票

您通常不要直接修改JPanel的大小,而是

  • 使用布局管理器和嵌套的JPanels的智能组合为您进行大小调整
  • 有时重写JPanel上的public Dimension getPreferredSize()以使其自身智能大小,但是这样做时要格外小心,并且通常会尊重super.getPreferredSize()会导致您进行覆盖。
© www.soinside.com 2019 - 2024. All rights reserved.