[英]How to add a table listener to a JTable?
我在修复程序中的某些内容时遇到问题。 基本上我知道如何使用 action Listeners 但没有将一个添加到JTable
选项。 这是怎么做的?
基本上我想在我的表中添加一个动作侦听器,以便每次更改值时它都会更新我的数据库中的该字段。
IE
JTable.addActionListener (new ActionListener) {
// text is changed
updateDataBase();
};
您应该向TableModel
添加一个监听器:
yourtableObject.getModel().addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e) {
// your code goes here, whatever you want to do when something changes in the table
}
});
TableModelEvent
包含行号和列号以及修改类型。
TableModelEvent
用于通知侦听器表模型已更改。
首先来看看如何使用表格
您要做的是将TableModelListener
注册到JTable
的模型并监视其中的更改
你要找的东西是
TableModel#getType
等于TableModelEvent.UPDATE
TableModel#getFirstRow
和TableModel#getLastRow
通常是等于(单个行更新),这可能相关也可能不相关,由您自行决定 TableModel#getColumn
不等于TableModelEvent.ALL_COLUMNS
,这表示单个单元格已更新。 同样,这可能重要,也可能不重要,但如果用户编辑了单元格,则会设置此单元格 有关更多详细信息,请查看javax.swing.event.TableModelEvent
如果您想在选择发生变化时有一个事件,您可以使用:
table.getSelectionModel()addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent l) {
//action
}
});
来源: http : //www.java2s.com/Tutorial/Java/0240__Swing/TableSelectionEventsandListeners.htm
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.