2015-01-09 2 views
2

Я кодирую приложение в качели и в Jtable мне нужно, чтобы поведение по умолчанию начиналось со стрелки вправо, чтобы ввести ключ, переместившись в правую ячейку при нажатии enter.Поведение по умолчанию справа стрелка для ввода ключа Jtable

Я видел, как переопределить поведение по умолчанию, введите с помощью этого метода:

private void createKeybindings(JTable table) { 
    table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "Enter"); 
     table.getActionMap().put("Enter", new AbstractAction() { 
      @Override 
      public void actionPerformed(ActionEvent ae) { 
      } 
     }); 
    } 

Но я не знаю, как транспортировать поведение стрелки вправо, чтобы ввести ключ, в actionPerfomed, для перемещение вправо, нажмите клавишу ввода. Есть идеи?

Thanks

ответ

2

Не переопределяйте поведение клавиши Enter по умолчанию.

Просто поделитесь правильные действия со стрелкой с клавишу ввода:

Основной код для обмена действия с другой KeyStroke:

KeyStroke existingKeyStroke = KeyStroke.getKeyStroke("RIGHT"); 
KeyStroke addedKeyStroke = KeyStroke.getKeyStroke("ENTER"); 
InputMap im = component.getInputMap(...); 
im.put(addedKeyStroke, im.get(existingKeyStroke)); 
0

ОК, спасибо !! Я попробую!

Но мне нужно переопределить поведение по умолчанию, потому что я не хочу, чтобы этот ключ вводился в таблицу при нажатии.

Спасибо!