Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > this или ....?


Автор: XClan 18.6.2004, 11:07
Привет Всем!
Прилогается код который позволяет в конекстном меню вызвать графическую форму в виде диалогого окна, но сталкнулся с проблемой...

Код

if(object instanceof String){
               String s=(String)object;
               if(s.compareTo("Хоккей") == 0){
                   jLayeredPane3.moveToFront(RouterPanel);
               }else if(s.compareTo("Футбол") == 0){
                       jLayeredPane3.moveToFront(NasListPanel);
               m_popup = new JPopupMenu();
           m_popup.add(new AbstractAction("Статистика") {
                       public void actionPerformed(ActionEvent e) {
               StatisticForm stform = new StatisticForm(this,true);        
               stform.show();  
                       }
                   });
                   jTree1.add(m_popup);
               }
           }


Но выдает ошибку ...
Код

symbol: method StatisticForm (<anonymous javax.swing.AbstractAction>,boolean)
               StatisticForm stform = new StatisticForm(this,true);        
                                      ^


Что может быть вместо this ??

Автор: XClan 18.6.2004, 11:46
изменил с
Код

m_popup.add(new AbstractAction("Статистика")


на
Код

m_popup.add(new Form("Статистика")


Ошибок вроде нету - нo контекстное меню теперь не доступна почему-то!!! sad.gif

Автор: DarkDS 18.6.2004, 13:52
Цитата(XClan @ 18.6.2004, 11:07)
...
Что может быть вместо this ??

Так как это класс, хоть и встроенный, то this указывает как раз на него.
Для того чтобы обратится к классу, в котором расположен этот код нужно использовать конструкцию типа: ClassName.this, где КлассНайм - имя класса, который будет использован.

Автор: XClan 18.6.2004, 15:00
Что-то никак все равно..... ,((

Автор: DarkDS 18.6.2004, 15:06
А StatisticForm где рассположен?

Автор: XClan 18.6.2004, 15:08
все ок исправлено !

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)