我有一個JTable
,我想驗證第一列中的數據。當用戶在第一列中的任何單元格中鍵入條目並單擊另一個單元格時(焦點丟失),我想要顯示消息該條目爲false,並再次在單元格中對焦,直到條目有效。jtable中的驗證數據
首先我以爲單元格就像JTextFiled
,所以我嘗試了方法addFocusListener(...)
,但它不起作用!
table.getValueAt(0, 0).addFocusListener(
new FocusListener() {
public void focusGained(FocusEvent e) {
}
public void focusLost(FocusEvent e) {
for (int n = 0; n <= table.getValueAt(0, 0).toString().length(); n++) {
if (Character.isDigit(table.getValueAt(0, 0).toString().charAt(n)) == false) {
JOptionPane.showMessageDialog(null,
"Error: code is a number !", "Error Message",
JOptionPane.ERROR_MESSAGE);
break;
} else
break;
}
}
}
}
});
創建的JTable:
String [][]data={ {"-","-","0","-"},
{"-","-","0","-"},
{"-","-","0","-"},
{"-","-","0","-"},
{"-","-","0","-"},
{"-","-","0","-"},
{"-","-","0","-"},
{"-","-","0","-"} };
String[] header = {"Code Projet", "Description", "Duree", "Taches anterieurs"};
table = new JTable(data, header);
是否有你已經實現的任何代碼來嘗試這個? – mdewitt
與@mdewitt相同。我們可以發佈一些例子,但是到目前爲止你已經嘗試了哪些代碼?你可以編輯你的問題,並張貼你已經嘗試過的一些示例代碼嗎? –
首先,我認爲JTable中的單元格就像一個JTextField,所以我嘗試了方法addFocusListener .....但它不起作用:\ – user3285843