我很好奇在调整 JFrame 大小时在 Java 中究竟发生了什么。
我之所以问这个问题,是因为我在 JFrame 中向我的 bigCONtainer(JPanel 类型)添加组件时遇到了问题。我想在用户执行某个操作时添加一些东西,但是在 JFrame 以某种方式调整大小之前,组件不会被明显添加。
当我做一些尝试让新组件出现时,我发现了这一点;我调用了 myJFrame.pack()。作为第二个问题,我想知道 pack() 通常和特定于调整大小的作用。Java 文档听起来好像会将每个组件的大小调整为其首选大小。如果我决定在我的实现中使用 pack() 来显示新组件,我的解决方案是始终设置首选大小。任何人都可以证明这是一种公认的编程实践吗?这似乎是个好主意。
我还尝试了 repaint() 以显示新组件,但这没有用。