2016-11-05 5 views
0

私は私がチェックボックスをチェックしたときに、私は二drawOvalを非表示にすることができますか疑問:JPanelのチェックボックスは

public void paintComponent(Graphics g) { 
     super.paintComponent(g); 
      g.drawOval(175, 185, 80, 45); 
      g.drawOval(170, 185, 80, 45); 

私は、Javaの初心者だと私はこれを非表示にする方法については見つけることができません。

だから私は、デザインパネル とするとき、私は二drawOvalが消えるはずのチェックボックスをクリックして のチェックボックスを持っている

より具体的にします。

これは6行のように機能しますか?

答えて

3

これは6行のように機能しますか?

いいえ、あなたはそのコードを変更する必要があります。 ifブロック内のチェックボックスの状態に基づいて描画するか描画しないdrawOval行をラップします。 if boolean testの内部 - JCheckBoxがチェックされているかどうかを確認し、チェックされている場合は楕円を描画します。それを描かないなら - 簡単!

if (myCheckBox.isSelected()) { 
    g.drawOval(....) 
} 

はまた、一つのことを行いますJCheckBoxのにActionListenerを追加します。JPanelの上repaint()を呼び出します。

+0

ありがとうございました! – Ditger

+1

@Ditger:私はあなたが何を求めているのかはっきりしていませんが、一般的に、特定の条件が真であるときにだけコードを実行したい場合、ifブロックまたはif-elseおよびelseバリアントを使用してプログラムを制御しますフロー。それを保つ。 –

+0

私はそれを自分で修正しました:D – Ditger