我遇到了根据单选按钮更新的 JTable 的操作监听器的问题。
我创建了一个空白表,然后根据选择的按钮重新更新。 我遇到的唯一问题是操作监听器没有与当前表一起更新。
例如
表A 表B 表 C(只有一个带有 Action 监听器)
如果我点击 A B 就可以了,但是一旦我点击 C 并尝试返回 A 并选择一行,它仍然执行表 C 的操作监听器。有没有办法从 JTable 中删除操作监听器?
代码看起来像这样
JTable table = new JTable();
//Inside buttonActionListener
if (A)
table.setmodel(A);
else if (B)
table.setmodel(B);
else if (C)
{
table.setmodel(C);
table.addmouselistener(new mouseclick())
}
我可以将 Action 监听器添加到所有表中...这违背了我更新它们的目的...但是有没有办法解决这个问题?
最佳答案
直接使用
public void removeMouseListener(MouseListener l)
但是,如果您需要一直添加和删除监听器,那么事情会很奇怪......也许您最好保留监听器,但编写它,以便它检查某种条件来验证其逻辑是否应该执行。
关于java - 已重置的 JTable 的 ActionListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8132900/