我是 Java 新手,所以请温柔一点,哈哈。我的问题是这样的...我习惯了 C#,其中制作多个项目并拥有所有...比如说...鼠标单击事件,转到一种方法来找出哪个控件触发了它等等。问题是,我不知道如何在 Java 中做到这一点。我有几个 JTable,需要一种方法来处理 tablemodellistener 事件。
import javax.swing.event.*;
import javax.swing.table.TableModel;
public class SimpleTableDemo ... implements TableModelListener {
...
public SimpleTableDemo() {
...
table.getModel().addTableModelListener(this);
...
}
public void tableChanged(TableModelEvent e) {
int row = e.getFirstRow();
int column = e.getColumn();
TableModel model = (TableModel)e.getSource();
String columnName = model.getColumnName(column);
Object data = model.getValueAt(row, column);
...// Do something with the data...
}
...
}
所以我尝试更改“table.getModel().addTableModelListener(this);”
至:
table.getModel().addTableModelListener([MyMethod of type TableModelListener]);
但它不会编译。请提供一个完整的示例或非常好的提示。谢谢!
编辑:
我从这里得到了代码:http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#modelchange
最佳答案
在此example ,单个 TableModel
有多个监听器,包括 JTable
本身和相邻的 JList
。每个JComponent
都包含一个EventListenerList
,已检查here和 here ,其中包含该模型的任意数量的事件监听器。
关于java - 如何使多个 jtable 共享一个事件处理程序方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21358188/