Создание графического интерфейса с ActionListeners внутри метода - PullRequest
4 голосов
/ 06 сентября 2011

У меня есть метод внутри одного из моих классов для моего Java-приложения, который создает графический интерфейс Swing и имеет свои собственные слушатели действий, которые прекрасно работают.Однако, когда окно закрыто, мне нужен метод для возврата массива String[];это та часть, которая вызывает проблемы ...

Я добавил простой оператор return в конце метода, но, очевидно, Java не ждет слушателей действия и считает, что методзавершается после добавления слушателей действия.Так есть ли способ «удерживать» метод, а затем возобновить его, когда я буду готов - или даже другое решение моей проблемы?

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 06 сентября 2011

Используйте вместо этого модальное JDialog или JOptionPane.Код, открывший его, будет приостановлен в этой точке - пока модальный компонент не исчезнет с экрана.

3 голосов
/ 06 сентября 2011

попробуйте с WindowListener , поэтому, когда вы закрываете окно, вы можете отправить свой массив

как пример:

public class YourClass{
    ...
    window.addWindowListener(new NameOfListener());
    ...

    class NameOfListener() extends WindowAdapter{
        @Override
        public void windowClosed(final WindowEvent e)
        {
            // send your array
            anInstanceYouWish.setArrayXY(yourStringArray);
        }
    }
}
2 голосов
/ 06 сентября 2011

Вы можете добавить WindowListener к экземпляру JFrame и переопределить метод windowClosing(WindowEvent e). И в этом вы можете реализовать свое собственное поведение.

...