如果我参加一个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