У меня есть JTable с 3 столбцами.Один из столбцов должен иметь целочисленное значение, и я должен проверить ввод, прежде чем ячейка потеряет фокус.
Я использовал редактор ячеек и переопределил функцию stopCellEditing ().Я написал проверку в stopCellEditing, и она сохраняет фокус на ячейке, но моя проблема заключается в следующем:
- столбец не может принимать более одного значения (если я перехожу к редактированию другой ячейки,содержимое исчезает !!)
- Я не могу нажать Enter, если я редактирую одну из ячеек в этом столбце!
Это мой класс редактора:
public class MyEditor extends DefaultCellEditor implements TableCellEditor {
public MyEditor() {
super(new JTextField());
}
@Override
public boolean stopCellEditing() {
Object obj = delegate.getCellEditorValue();
if (obj is not an integer) {
return false;
}
return true;
}
и вот как я использую в своем фрейме:
studentTable.getColumnModel (). GetColumn (2) .setCellEditor (new MyEditor ());
Плз, помогите мне:)