3

我很新。Java Swing,并且正在为我的应用程序使用CardLayout。在这个应用程序中,用户可以创建活动,并在另一个 JPanel 中查看现有活动。

我无法更新卡片(标签所在的位置)。如果我添加活动,当您重新启动应用程序时它可以正常工作。我正在寻找一种不需要重新启动的方法。

简而言之,我想知道如何在运行时最好地重建/更新面板,以便显示新的标签数据。

提前致谢!

4

2 回答 2

9

当您将组件添加到可见 GUI 时,您需要告诉 GUI 已添加组件,以便可以调用布局管理器:

panel.add( component );
panel.revalidate();
于 2011-03-12T17:51:52.680 回答
0

听起来您正在寻找的是观察者设计模式。

基本上,它的全部内容是您有一个 Observer 实例,您可以将所有面板添加到该实例。当您更新面板中的值时,您会发现观察者发生了一些变化。然后,观察者将通知他观察到的所有面板一个值已更改,并且它们将更新其值。

http://en.wikipedia.org/wiki/Observer_pattern

于 2011-03-12T17:46:39.307 回答