Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> неработет JButton 
V
    Опции темы
akolesni
Дата 14.6.2006, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.6.2006

Репутация: нет
Всего: нет



Код

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class ButtonPanel extends JPanel {
  
  private JButton _oK, _cEncel;
 
 ButtonPanel(){
   FlowLayout lyout = new FlowLayout();
  lyout.setAlignment(FlowLayout.RIGHT);
  this.setLayout(lyout);
  ButtonPanelHandler buttonPanelHandler = new ButtonPanelHandler();
//-------------------------------------------------------------------------  
  JButton _oK = new JButton("OK");
  add(_oK);
  _oK.addActionListener(buttonPanelHandler);
//------------------------------------------------------------------------
  JButton _cEncel = new JButton("Cancel");
  add(_cEncel);
  _cEncel.addActionListener(buttonPanelHandler);
//----------------------------------------------------------------------
 }
 private class ButtonPanelHandler implements ActionListener{
   public void actionPerformed(ActionEvent e) {
 
   if (e.getSource() == _oK){
   System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAAA");
 }
 else {} 
 }
 }
}



 почему неработет JButton
невыполняется условие  if (e.getSource() == _oK) 
PM MAIL   Вверх
batigoal
Дата 14.6.2006, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



Ты в IDE пишешь? Если да, проверь дебаггером, чему e.getSource() реально равно. 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
ShamanTrirukiy
Дата 14.6.2006, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 12.4.2006
Где: Харьков

Репутация: 1
Всего: 5



Дело в том, что в actionPerformed(...) ты проверяешь source на совпадение с кнопкой - полем класса
Цитата(akolesni @  14.6.2006,  03:33 Найти цитируемый пост)
private JButton _oK, _cEncel;

в то время как листенеры добавлены на два новых объекта, созданных в конструкторе:
Цитата(akolesni @  14.6.2006,  03:33 Найти цитируемый пост)
JButton _oK = new JButton("OK");
  add(_oK);
  _oK.addActionListener(buttonPanelHandler);
  JButton _cEncel = new JButton("Cancel");
  add(_cEncel);
  _cEncel.addActionListener(buttonPanelHandler);

Убери из конструктора объявление кнопок, оставь только их инициализацию (вместо JButton _oK = new JButton("OK") и JButton _cEncel = new JButton("Cancel") напиши _oK = new JButton("OK") и _cEncel = new JButton("Cancel")) - и всё заработает.

Добавлено @ 08:45 
Да, и следи за тем, чтобы имена локальных переменных или объектов как можно реже совпадали с именами полей класса, чтобы подобная ситуация не произошла вновь. Если же совпадения избежать не удалось - обращайся к полям класса через this.имяПоля 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0417 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.