ошибка диалога сообщения - PullRequest
       0

ошибка диалога сообщения

0 голосов
/ 12 января 2011

Я получаю эту ошибку:

cannot find symbol
symbol: method showMessageDialog(<anonymous javax.swing.AbstractAction>,java.lang.String,java.lang.String,int)

Может ли кто-нибудь мне помочь? Спасибо

 exitAction = new
 AbstractAction("Esci") {

             public void actionPerformed(ActionEvent e) {

             if (rcStatus ==1) {

    JOptionPane.showMessageDialog(this,
 "Thread running. Choose STOP before
 exit",
                     "Error", JOptionPane.ERROR_MESSAGE);


         }
          else {

                 System.exit(0);}

             }
         };
         exitAction.putValue(Action.NAME,
         "Exit");

         exitAction.putValue(Action.SHORT_DESCRIPTION,"Close");

Ответы [ 2 ]

1 голос
/ 12 января 2011

В JOptionPane нет метода с этой подписью. Вы уверены, что this, который вы передаете, это AbstractAction, а не Component. Для showMessageDialog(), это ваши варианты .

Я думаю, вы хотите JOptionPane.showMessageDialog(Component parentComponent, Object message, String title, int messageType). Если у вас нет подходящего родительского компонента для передачи, передайте null вместо this:

JOptionPane.showMessageDialog(null, "Thread running. Choose STOP before exit", "Error", JOptionPane.ERROR_MESSAGE);
0 голосов
/ 12 января 2011

В вашем вызове метода this относится к анонимному классу, который вы создаете (который расширяет AbstractAction).

Если этот код находится внутри компонента, например:

public class MyComponent extends JComponent {
...
(your code)

тогда вы можете изменить вызов метода на:

JOptionPane.showMessageDialog(MyComponent.this, "Thread running", ...

MyComponent.this относится к объекту внешнего класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...