MouseListener Java и MouseAdapter - передать в переменную - PullRequest
4 голосов
/ 08 декабря 2010

У меня есть следующий метод:

public static void createDialog(Button b, String message)
{
    MouseListener mouseListener = new MouseAdapter() {
        public void mousePressed(MouseEvent mouseEvent) {
            if (SwingUtilities.isLeftMouseButton(mouseEvent)) {
                JOptionPane.showConfirmDialog(null,
                        "mymessage", "mymessage", JOptionPane.YES_NO_OPTION);
            }
        }
    };
}

Я хочу иметь возможность получить сообщение с параметром в JOptionPane, где говорит mymessage.Есть ли способ сделать это?

Я не могу получить доступ к переменным внутри класса, которые находятся за пределами.Есть ли способ получить это значение там?В конечном итоге я бы хотел добавить туда и несколько других параметров.

Спасибо!

1 Ответ

5 голосов
/ 08 декабря 2010

Я не могу получить доступ к каким-либо переменным внутри класса, которые находятся вне.

Не в общем случае, но вы можете получить доступ к конечным переменным, поэтому просто введитеfinal перед параметром String message:

public static void createDialog(Button b, final String message) {
    //                                    ^^^^^
    MouseListener mouseListener = new MouseAdapter() {
        public void mousePressed(MouseEvent mouseEvent) {
            if (SwingUtilities.isLeftMouseButton(mouseEvent)) {
                JOptionPane.showConfirmDialog(null,
                        message, message, JOptionPane.YES_NO_OPTION);
            }
        }
    };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...