我有一个应用程序,我希望用户能够在正常和高级设置之间进行选择。现在,如果用户检查JCheckBox并且高级设置应该消失,则问题开始。 我的想法是将所有不可靠的swing组件(JScrollPane,JLabel ...)设置为不可见,然后找到一个适合VISIBLE组件窗口的JFrame方法。 我的问题是,是否有这样的方法?
答案 0 :(得分:5)
...然后找到一个适合VISIBLE组件窗口的JFrame方法。我的问题是,是否有这样的方法?
是的,有这样一种方法,它被称为pack()
。
这将级联顶层窗口所包含的所有容器的布局管理器,要求它们重新布局其可见组件,根据组件和布局管理器要求将组件大小调整为其首选大小,并最终调整顶层窗口的大小以适应容器及其组件。
答案 1 :(得分:4)
1。您可以使用setVisible(boolean b)
,使组件可见且不可见。
2。您可以使用isVisible()
3. 您可以使用pack()方法, pack()方法根据需要设置框架尺寸
答案 2 :(得分:0)
我认为您可以在面板中包装高级内容(如果可能),并使用this.remove(component)
从框架中删除该面板,然后使用this.pack()
你可以反过来显示它们,this.add(...)
然后再this.pack()