[英]JTable - Checkbox add action listener
我創建了一個簡單的JTable
帶有如下復選框:
DefaultTableModel model = new DefaultTableModel();
jTable1.setModel(model);
model.addColumn("No:", no1);
model.addColumn("Remark", remark1);
model.addColumn("Color", colors1);
model.addColumn("Done");
TableColumn col1 = jTable1.getColumnModel().getColumn(0);
col1.setPreferredWidth(1);
TableColumn col4 = jTable1.getColumnModel().getColumn(3);
col4.setCellEditor(jTable1.getDefaultEditor(Boolean.class));
col4.setCellRenderer(jTable1.getDefaultRenderer(Boolean.class));
col4.setPreferredWidth(50);
jTable1.setShowGrid(true);
jTable1.setGridColor(Color.BLACK);
jTable1.setAutoCreateRowSorter(true);
它工作正常,但如果我想為復選框添加動作監聽器該怎么辦。 例如,當我選中我的復選框時,我需要彈出一條確認消息。
例如,當我選中我的復選框時,我需要彈出一條確認消息。
您不需要向渲染器/編輯器添加ActionListener ,但您需要監聽表模型數據更改。 看看如何使用表格的 傾聽數據更改部分教程:
Boolean
且其值為true
。 false
。 請注意,在這種情況下,當你使用布爾值時,有兩個可能的值來進行檢查。 但是,對於其他情況下的輸入驗證,所描述的過程將不起作用,因為當更改已經發生時將通知偵聽器,並且您將無法再將值設置回來因為它不再存在。
看看@ kleopatra對這個問題的回答: JTable輸入驗證器 。 如上所述,更好的方法是提供自定義CellEditor並在stopCellEditing()方法實現中進行驗證。 正如建議我使用DefaultCellEditor ,它將JCheckBox作為參數並覆蓋上述方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.