Суббота, 23 Ноября 2024, 19:37

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Закрытие формы по клику на кнопку
musicfunsДата: Четверг, 06 Июня 2013, 07:15 | Сообщение # 1
Gorilla Develop Studio
Сейчас нет на сайте
Появилась такая проблема.

В событие клик на пунк меню создается форма с кнопкой, мне нужно, чтобы форма закрывалась по клику на эту кнопку, а у меня выходит ошибка, дескать форма - это локальная переменная и использовать ее нельзя.

Вот код:
Код
about1.addActionListener(new ActionListener() {            
             public void actionPerformed(ActionEvent e) {
             JFrame aboutfr = new JFrame("О игре");
         aboutfr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         aboutfr.setSize(300,300);
         Font font1 = new Font("Verdana", Font.PLAIN, 11);
         aboutfr.setVisible(true);
         JButton OkButton = new JButton("OK");
         aboutfr.add(OkButton , BorderLayout.SOUTH);
           
          OkButton.addActionListener(new ActionListener() {            
             public void actionPerformed(ActionEvent e) {
                 aboutfr.setVisible(false);    
             }     
            
               
         });
          
            
          
       }
             });


Чего делать?
Red_SquirrelДата: Четверг, 06 Июня 2013, 10:24 | Сообщение # 2
участник
Сейчас нет на сайте
musicfuns, смотри на код внимательней, зачем ты внутри actionListener'a объявляешь ещё один actionListener? Вынеси его отдельно. И aboutfr.setVisible(false) не закроет твою форму, а просто сделает её невидимой, что бы её закрыть, тебе нужно ещё вызвать функцию dispose(), т.е. aboutfr.dispose();
musicfunsДата: Четверг, 06 Июня 2013, 16:49 | Сообщение # 3
Gorilla Develop Studio
Сейчас нет на сайте
Red_Squirrel, Не работает, когда выношу действие на кнопку за форму, то он опять говорит, что переменная OkButton локальная, а aboutfr вообще не существует. Ставил все в правильном порядке.

Добавлено (06.06.2013, 16:49)
---------------------------------------------
Все, сам разобрался. Нужно ставить final Jframe aboutfr = new Jframe И т.д.

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг