Hov*_*els 19
如果你先调用它,你就不会破坏任何东西,但如果你添加了任何东西,你可能需要再次调用它.Else Swing不会渲染添加的组件.您需要让JVM调用JFrame的paint(...)方法来呈现JFrame的组件,并且setVisible(true)要求JVM执行此操作.如果您在调用setVisible(true)之后添加了组件并且没有看到组件,那么如果重新调整JFrame的大小,您会发现它们将"实现".这是因为重新调整大小会导致操作系统要求Swing重新绘制GUI,这将导致paint(...)被调用.
请注意,如果在创建GUI后添加组件,则可以调用revalidate()并经常repaint()在其容器上调用正确布局的新组件,然后进行渲染.该repaint()将绝对是必要的,如果在组件更改涉及的删除或正在绘制的部件,其中另一个组件之前显现.
我强烈推荐的一本书建议:肮脏的富客户购买Guy and Haase.买吧!你不会后悔购买.