【发布时间】:2016-08-03 12:28:01
【问题描述】:
我正在编写一个 GUI。在那个 GUI 中,我有一个下拉框,我可以在其中选择不同的人。每个人都有一个 CardLayout 窗格,并且在该窗格中有一个表格,其中包含有关他们自己和他们拥有的东西的信息。
我写了一个名为PanelTableItems(Person person)的类。
在程序开始时,我使用这个类来创建多个这些表(我的程序中的每个人一个)。每个 CardLayout 窗格都有这些表之一。我刚刚实现了一个ListSelectionListener 来存储我使用私有函数从表中获取所选项目的最后一个选定行。然而,当我实现这个选择监听器时,我尝试使用打印,并且由于某种原因,如果我的程序中有两个人,即使“第二个”表不在视图中,因此选择监听器也会打印两次。
这是我的问题:
如何确保仅使用 CardLayout 操作当前处于“视图”中的表格?第二个窗格是隐藏的,但似乎对第一个窗格的所有函数调用也设法在第二个窗格上运行,因为它们属于同一类型。
我可以发布一个 MCVE,但这更像是一个理论/解决方案问题,而不是一个实际的编码问题。
提前致谢。
【问题讨论】:
-
对我来说
Each person has a CardLayout Pane and in that Pane a table with information about themselves and things they own.== JTable 使用 RowFilter 而不是And each CardLayout Pane has one of these tables.,因为您可以从 JTables 视图中删除列,数据仍然可以从模型中访问,您可以在那里存储大量数据
标签: java swing jtable cardlayout