2011-01-10 8 views
1

私はいくつかのパネルといくつかのボタンを含むメインクラスを持っています。メインクラスのボタンの可視性を設定したい別のクラスがあります。設定他のクラスのjButtonの可視性

私は次のようにメインクラス に可視性を設定するために、1つの機能を追加しました:

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

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

が、これは動作していない、誰でも助けることができますか?

+1

例にいくつかのコードを追加できますか?これは、repaint()の呼び出しがなくてもうまく動作するはずです(invalidate()が実際にはより良いでしょう)。 EDTがどこかに持ち込まれていない場合は、スレッドをチェックしてください。 –

答えて

0

可視性を設定した後、パネルを再描画しようとしましたか?

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

試してみましたが... – Shital

0

EventDispatcherThreadのsetVisibility(boolean)メソッドの呼び出しはありますか? (投稿した小さなコードからは分かりません)。

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

EventQueue.invokeLater(runnable); 

別のマイナーなポイントは、あなたがsetVisibility()というメソッドでのsetVisible()メソッドの呼び出しをカプセル化されています。それを維持しなければならない場合、私はあなたの名前を呪います:-) IMHO、メソッド名を同じにしてください。

関連する問題