Java GUI 创建表单后调整其大小

标签 java swing user-interface

 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/

相关文章:

Java Arraylist 删除对象

java - 在客户端/服务器应用程序中刷新 JTable

java - 将鼠标事件分派(dispatch)到最深的可见 JComponent

java - 如何从另一个 GUI 访问元素?

java - 无法从我的 Android 模拟器连接到本地 Web 服务

java - 如何全面了解 Java 中的流?

java - 将 ImageIcon 从类显示到 JSF 页面?

Swing 中的 Java ProgressBar

winforms - 如何在 VS2012 中创建 C++/CLI Winforms 应用程序?

java - 检查一个数组是否与java中的另一个数组相反