如果我參加一個JTable
並在其上的指定模型列的CLASSTYPE如下:如何將JTable單元格輸入標記爲無效?
DefaultTableModel model = new DefaultTableModel(columnNames, 100) {
@Override
public Class<?> getColumnClass(int columnIndex) {
return Integer.class;
}};
然後,每當用戶試圖進入一個double
值到表中,搖擺自動拒絕輸入,並設置單元格的輪廓紅。
我希望在某人向單元格輸入'負數或0'輸入時發生同樣的效果。我有這樣的:
@Override
public void setValueAt(Object val, int rowIndex, int columnIndex) {
if (val instanceof Number && ((Number) val).doubleValue() > 0) {
super.setValueAt(val, rowIndex, columnIndex);
}
}
}
這阻止細胞接受任何非正面的價值觀,但它好好嘗試設置顏色爲紅色和離開細胞爲可編輯。
我試圖尋找JTable如何在默認情況下進行拒絕,但我似乎無法找到它。
我如何使它拒絕非積極輸入與拒絕非積分輸入相同?
謝謝
感謝這更清潔。我確實回去更新我的代碼,使其不那麼通用,因爲我只是試圖在一個特定的地方使用它,我可以控制它的使用。 – Cuga
另請參閱此[備選](http://stackoverflow.com/a/13510756/230513)。 – trashgod
@trashgod +1 hey trashgod使用documentFilter替代不要讓用戶類型是個好主意嗎? – nachokk