簡體   English   中英

如何向JTable(Java)添加一種監聽器?

[英]How to add a type of listener to a JTable (Java)?

我有一個帶有純文本的列。

如果用戶雙擊該列中的行,則該列允許自己編輯該行(應該如此)。

我需要一些東西來檢測該文本何時被編輯完成(例如,當用戶點擊回車鍵時)。 當發生這種情況時,我需要一些東西來獲取該變化的行ID(當然是0)。

有任何想法嗎?

謝謝!

您應該向TableModel添加一個監聽器:

table.getModel().addTableModelListener(new TableModelListener() {

      public void tableChanged(TableModelEvent e) {
         // your code goes here;
      }
    });

TableModelEvent包含行號和列號以及修改類型。

我認為根據行和列獲取點擊位置的最簡單方法是:

table.addMouseListener(new java.awt.event.MouseAdapter() {
    @Override
    public void mouseClicked(java.awt.event.MouseEvent e) {
        int row = table.rowAtPoint(e.getPoint());
        int column = table.columnAtPoint(e.getPoint());
        if (row >= 0 && column >= 0) {
            ......

        }
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM