Java Swing - CardLayout,如何在运行时“更新”卡片?

时间:2011-03-12 17:38:38

标签: java swing cardlayout

我很擅长。 Java Swing ,我正在为我的应用程序使用 CardLayout 。在此应用程序中,用户可以创建活动,并在其他JPanel中查看现有活动。

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

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

提前致谢!

2 个答案:

答案 0 :(得分:9)

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

panel.add( component );
panel.revalidate();

答案 1 :(得分:0)

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

基本上它的全部内容是你有一个Observer实例,你可以将所有面板添加到。更新面板中的值时,您将更改Observer的内容。然后观察者将通知他所有观察到的小组,一个值已经改变,他们将更新它们的值。

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