Java swing卡布局 - 显示功能

时间:2011-12-13 08:37:36

标签: java swing cardlayout

我正在使用卡片布局来创建我的应用, 我的2张卡正在剪切相同的信息(在一个中输入数据到textarea,在另一个中打印数据)。 数据已保存在框架中。 我已经为第二张卡添加了一个刷新功能,可以获取值并打印出来,但我不知道如何触发它。

是否有任何事件可以绑定到此功能? 或者从框架中获取卡片功能的任何其他方式(所以每次我出示卡片时都可以触发它)?

感谢

1 个答案:

答案 0 :(得分:2)

通常有两种方法可以实现您的目标。您可以像显示的那样更新/刷新输出卡。这可以通过向您用作输出卡的组件添加ComponentListener来完成。这样,您可以覆盖componentShown方法,以便调用自定义刷新方法。请参阅this question的已接受答案。

第二种方法是在任何数据发生变化时调用刷新 - 始终保持最新,即使它实际上不可见。根据应用程序的外观,可能会以不同的方式完成。如果您有专用数据模型,则可以使用Observer / Observable模式通知内部模型更改,或者您可以对模型进行硬编码以在更改时调用刷新。如果您只想直接从第一张卡片上的输入字段获取数据,那么您可以将该代码添加到各自的更改侦听器等中。