繁体   English   中英

如何将表侦听器添加到 JTable?

[英]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#getFirstRowTableModel#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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM