Как я неправильно использую KeyListener в этом фрагменте кода? - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь заставить нажатие клавиши ввода перейти к следующему текстовому полю (TextField2), вместо (по умолчанию) нажатия клавиши OK из OK_CANCEL_OPTION панели JOptionPane.

   JTextField textField1 = new JTextField("");
   JTextField textField2 = new JTextField("");

   JPanel panel = new JPanel(new GridLayout(0,1));

   panel.add(new JLabel ("Check"));
   panel.add(textField1);
   panel.add(new JLabel ("Cash" ));
   panel.add(textField2);
   textField1.addAncestorListener(new SetFocus());
   textField1.addKeyListener(new KeyAdapter() {
    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode() == KeyEvent.VK_ENTER){
           textField2.addAncestorListener(new SetFocus());
        }
    }

});

   JOptionPane.showConfirmDialog(null, panel, "Deposit", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); 

1 Ответ

0 голосов
/ 27 октября 2018

Используйте textfield2.requestFocus () вместо добавления слушателя-предка.

...