簡體   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