Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > JTable и самодельный CellEditor


Автор: RotesByte 6.4.2006, 02:05
Привет всем!

Переписал из книжки пример самодельного CellEditor'а для поля с датой с использованием JSpinner. Повесил на столбец в JTable. Работает.

Проблема в следующем: редактирование значения ячейки начинается прямо после клика на ней.
Как сделать так, чтобы редактирование начиналось по-человечески, после ДВОЙНОГО хлопка по ячейке, точно так же, как при использовании стандартного CellEditor'а?


На всякий случай, код моего "редактора"...
Код

class MyTableCellEditorDate extends AbstractCellEditor implements TableCellEditor {
    
    private JSpinner spinner;
    
  protected MyTableCellEditorDate() {
    SpinnerDateModel sdm = new SpinnerDateModel(new Date(), null, null, Calendar.DAY_OF_MONTH);
    spinner = new JSpinner(sdm);
  }
  
  public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
    spinner.setValue(value);
    return spinner;
  }
  
  public Object getCellEditorValue() {
    return spinner.getValue();
  }
}

Автор: LSD 6.4.2006, 11:22
Код
public boolean isCellEditable(EventObject anEvent)
{
  if(anEvent instanceof MouseEvent)
  {
    return ((MouseEvent) anEvent).getClickCount() >= clickCountToStart;
  }
  return true;
}

Автор: RotesByte 6.4.2006, 12:02
Спасибо. Теперь дошло где дальше доводить...

Автор: cube 30.4.2008, 10:52
а как сделать чтобы редактирование началось при установки фокуса на нее(ячейку)?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)