나는 dataTable 및 cellEditor 양식을 하나의 열로 만듭니다. 이 열은 단순한 jSpinner입니다. 나는 다음과 같은 문제가있다. 회 전자에 값을 입력하고 다른 행을 선택하면 이전 행의 값이 변경되지 않습니다. 내가 누르면, 끝날거야. 선택 또는 버튼을 선택하면 완료됩니다. 그러나 가치를 입력하고 선택을 변경하면 완료되지 않습니다. 도와주세요. 다음은 CellEditor 코드입니다.JSpinner 업데이트
public class DurationTableCellEditor extends AbstractCellEditor implements TableCellEditor{
final JSpinner spinner = new JSpinner();
// Initializes the spinner.
public DurationTableCellEditor() {
spinner.setModel(new SpinnerNumberModel(1,1,50000,1));
}
// Prepares the spinner component and returns it.
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
spinner.setValue(new Integer(value.toString()).intValue());
spinner.setCursor(null);
return spinner;
}
// Enables the editor only for double-clicks.
@Override
public boolean isCellEditable(EventObject evt) {
if (evt instanceof MouseEvent) {
return ((MouseEvent)evt).getClickCount() >= 1;
}
return true;
}
// Returns the spinners current value.
public Object getCellEditorValue() {
return spinner.getValue();
}
}