java - 如何使 java swing JFrame 正确调整大小

标签 java swing

我想知道为什么我无法调整下面的框架大小,并且在调整框架大小时无法调整所有组件的大小。谢谢!!!

public class TPASimulatorGUI extends JFrame{
    JPanel mainPanel = new JPanel();
    BoxLayout layout = new BoxLayout(mainPanel,BoxLayout.Y_AXIS);       
    mainPanel.setLayout(layout);

                // add things to main panel

    JPanel it = new JPanel(new FlowLayout(FlowLayout.LEADING));

    it.add(mainPanel);

    this.getContentPane().add(it);
    this.setSize(new Dimension(1190,770));
    this.setVisible(true);

}

最佳答案

JPanel it = new JPanel(new FlowLayout(FlowLayout.LEADING));
it.add(mainPanel);

FlowLayout 始终遵循添加到其中的组件的首选大小。

摆脱“it”面板并尝试仅使用

//this.getContentPane().add(it);
add(mainPanel);

框架的默认布局是 BorderLayout,它将尝试增加/减少添加到其中的所有组件的大小。

关于java - 如何使 java swing JFrame 正确调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15977420/

相关文章:

java - 当 TableView 为空时禁用按钮

java - 为什么我的 spring boot gradle 项目使用 spring jpa 连接到 oracle 抛出异常?

java - 将静态类引用传递给非静态类的构造函数

java - JComponent 无法初始化 : java. lang.IllegalArgumentException:宽度和高度必须 >= 0

java - 如何使带有匿名内部类 Action 监听器的 JButton 在单击时自行删除?

java - 通过javamail连接错误

java - 在 Android 中翻译短信正文

java - java输入错误后如何让程序重新启动

java - 根据 JDialog 调整 JPanel 的大小

java - 在 DefaultListModel 与 ConcurrentHashMap 中存储数据