所以基本上,我试图获得一个JPanel窗口,它将动态显示所有组件。换句话说,它将重新调整窗口大小,并显示以适合其内容。
我已经能够在JFrame及其pack()方法的帮助下完成:"causes this Window to be sized to fit the preferred size and layouts of its subcomponents"。 在我的情况下,我不想使用JFrame,因为它需要很多努力来进行所有更改。 现在,我能够使它工作,但只有在jscroll的帮助下包装文本和/或任何新行,所以窗口大小更加静态。所以我的JPanel正在扩展一个TopComponent并且能够用:
显示它jpanel.open();
jpanel.requestActive();
所以问题是如何调整窗口大小以使其内容符合该窗口中的操作。
答案 0 :(得分:2)
JPanel
必须添加到Window
才能有意义。因此,我建议您正确使用布局管理器,您将获得一个不错的用户界面。
答案 1 :(得分:2)
在可见面板中添加/删除组件时,您需要使用:
panel.revalidate();
panel.repaint();
然后布局管理器将再次布置组件。