首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JTable 雙擊刪除行的最簡實現

     編輯:Java 相關知識

在 MouseListener.mouseClicked 事件中,透過 rowAtPoint 獲取點擊行索引,再操作 DefaultTableModel 移除即可。

核心代碼

JTable sourceTable = (JTable) evt.getSource();
if (sourceTable.getRowCount() <= 0) return;

int rowIndex = sourceTable.rowAtPoint(evt.getPoint());
if (rowIndex >= 0) { // 防止點擊空白區域返回 -1
    DefaultTableModel model = (DefaultTableModel) sourceTable.getModel();
    model.removeRow(rowIndex);
}

關鍵點說明

  • evt 為 java.awt.event.MouseEvent
  • 需確認 TableModel 為 DefaultTableModel 或自行轉型
  • 建議在 mouseClicked 中判斷 evt.getClickCount() == 2 確保雙擊觸發

完整事件註冊範例

table.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
        if (e.getClickCount() == 2) {
            JTable target = (JTable) e.getSource();
            int row = target.rowAtPoint(e.getPoint());
            if (row != -1) {
                ((DefaultTableModel) target.getModel()).removeRow(row);
            }
        }
    }
});
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved