установка видимости jButton одного класса из другого - PullRequest
1 голос
/ 10 января 2011

У меня есть основной класс, который содержит некоторую панель и несколько кнопок, и есть еще один класс, с помощью которого я хочу установить видимость кнопок в основном классе.

Я добавил одну функцию для установки видимости вОсновной класс, как:

// This is my main class  
public void setVisibility(boolean flag)  
{   
    mybutton.setVisible(flag);  
}

// this is class which calls the method,
my_constructor.setVisibility(false);

но это не работает, кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Является ли ваш вызов метода setVisibility (логическим) в EventDispatcherThread? (не могу судить по маленькому коду, который вы разместили).

Runnable runnable = new Runnable() {
   public void run() {
       setVisibility(flag);
   }
 };

EventQueue.invokeLater(runnable);

Еще один незначительный момент - вы инкапсулируете вызов метода setVisible () с помощью метода setVisibility (). Если бы мне пришлось поддерживать этот код после вас, я бы проклинал ваше имя :-) ИМХО, просто сделайте имя метода таким же.

0 голосов
/ 10 января 2011

Вы пытались перекрасить панель после настройки видимости?

// This is my main class  
public void setVisibility(boolean flag)  
{   
    mybutton.setVisible(flag);  
    myPanel.repaint();
}
...