gpt4 book ai didi

java - 检测 JTabbedPane 中具有多个 JTable 的 onChanged() 事件的表

转载 作者:行者123 更新时间:2023-12-01 23:00:17 25 4
gpt4 key购买 nike

我当前正在使用 JFrame 来保存包含多个表的 JTabbedPane。在我的扩展 JFrame实现 TableModelListener 的类中,我有一个 onChanged() 方法,该方法采用 TableModelEvent 作为一个论点。我可以成功从触发事件的表上的事件中获取数据,但无法确定它是哪个表。

据我了解,这不是我想做的事情的方式。我相信我可能需要编写一个自定义 TableModelListenerJTable 并在那里实现 onChanged() 方法。

我需要做什么才能确定 JTabbedPane 中的哪个 JTable 已更改?我需要找到已修改的表和行。

最佳答案

TableModelListenerTableModelEvent 不会提供有关与模型关联的 JTable 的信息,因为模型可能由多个共享理论上来说是表格。

获取行就是从事件中获取行,该事件来自 firstRowlastRow 属性。一旦确定模型属于您的哪个表,您就可以使用 JTable#convertRowIndexToView 确定 View 行。

要找到JTable,您至少有两个基本解决方案

你可以...

询问存储在每个 JTabbedPane 中的每个表的模型,并将其与生成表模型事件的模型进行比较

你可以...

TableModelJTableJTabbedPane 之间维护某种查找,具体取决于您最终想要的内容

这可以通过使用某种类型的Map来实现,并以TableModel为键控

关于java - 检测 JTabbedPane 中具有多个 JTable 的 onChanged() 事件的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23463097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com