public static void main(String[] args) {
JFrame frame = new JFrame("Fantasy Football Toolkit");
frame.setContentPane(new GUI().mainPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(350, 475);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
以上是我的 GUI 应用程序的主要方法。我想知道在这个 main 方法运行后是否可以更改表单的大小。如果我想在单击按钮时更改大小怎么办?问题是我无法访问框架。这必须以某种方式成为可能。我已经到处寻找解决方案,但找不到。谢谢。
最佳答案
您始终可以通过 SwingUtilities.getWindowAncestor(yourComponent)
从它所拥有的任何组件访问顶级 JFrame。此方法返回一个 Window
对象,但如果您 100% 确定它是 JFrame,则始终可以强制转换它(或首先测试它是否如此)。
一旦获得,您始终可以对其调用 pack()
将其大小调整为它包含的组件的首选大小。一般来说,您会希望避免直接设置大小,因为这可能会导致稍后修改程序时出现错误。
关于Java GUI 创建表单后调整其大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41864385/