я заставляю клавишу ввода работать как вкладка, используя FocusTraversalKeys (), но если я хочу выполнить какое-либо действие с любым компонентом клавиши ввода, как это сделать? - PullRequest
0 голосов
/ 31 января 2019

я заставляю клавишу ввода работать как вкладка в Jframe, используя setFocusTraversalKeys (), но в textField, нажав клавишу ввода, я хочу открыть новый фрейм, как это сделать благодаря этому методу, нажав клавишу ввода, перейдите кдругой компонент, но действие не может быть выполнено.

        textField = new JTextField();
        textField.setBounds(140, 40, 86, 20);
        contentPane.add(textField);
        textField.setColumns(10);

        textField_1 = new JTextField();
        textField_1.setBounds(140, 89, 86, 20);
        contentPane.add(textField_1);
        textField_1.setColumns(10);

        textField_2 = new JTextField();
        textField_2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(First.this,
                           "either Date is not within financial year or not a valide date",
                                "Inane warning",
                                JOptionPane.WARNING_MESSAGE);
            }
        });
        textField_2.addKeyListener(new KeyAdapter() {
            @Override
            public void keyReleased(KeyEvent e) {
                if(e.getKeyCode() == KeyEvent.VK_ENTER)
                {
                    JOptionPane.showMessageDialog(First.this,
                               "either Date is not within financial year or not a valide date",
                                    "Inane warning",
                                    JOptionPane.WARNING_MESSAGE);

                }
            }
        });
        textField_2.setBounds(140, 148, 86, 20);
        contentPane.add(textField_2);
        textField_2.setColumns(10);

        Set forwardKeys = getFocusTraversalKeys(
                KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
        Set newForwardKeys = new HashSet(forwardKeys);
        newForwardKeys.add(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));
        setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
                newForwardKeys);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...