неполные типы: не может быть преобразован в компонент - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь показать диалоговое окно сообщения с использованием Swing, показывающее, что введенный мной пароль не совпадает с паролем, хранящимся в массиве, но выдает ошибку:

incomplete types:<anonymous ActionListener> cannot be converted to component 

Когда я использую this заявление:

jRadioButton3.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent ae) {
        Manager[] arr = new Manager[3];
        arr[c].setEmpID(Integer.valueOf(jTextField1.getText()));
        arr[c].setEmpName(jTextField2.getText());
        arr[c].setPassword(jTextField5.getText());
        if (!arr[c].getPassword().equals(jTextField4.getText())) {
            JOptionPane.showMessageDialog(this, "Invalid Password", "Error", JOptionPane.ERROR_MESSAGE);
        }
    }
});

1 Ответ

0 голосов
/ 12 апреля 2020

«Это» в ваших параметрах относится к ActionListener, который не является компонентом Swing.

Вы хотите что-то вроде:

JButton button = (JButton)ae.getSource();
Window window = SwingUtilities.windowForComponent( button );
JOptionPane.showMessageDialog(window, "Invalid Password", "Error", JOptionPane.ERROR_MESSAGE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...