2016-07-20 10 views
-4

私は、JLabelsのArrayListがhandNumberListと呼ばれるプログラムを持っています。 getHand()メソッドは、パネルを作成するときにプログラムの先頭にJLabelのリストを表示するために使用されます。その後ArrayListからJLabelを削除する手助けが必要

public JPanel getHand() 
{   
    if (firstUpdate == 0) 
    { 
     for (int index = 0; index < 9; index++) 
     { 
      hand.add(index + 1); 
     } 

     for (int index = 0; index < hand.size(); index++) 
     { 
      handNumberList.add(getLabel(Integer.toString(hand.get(index)))); 
      handNumberList.get(index).setFont(new Font("Serif", Font.PLAIN, 20)); 

      addComp(handPanel, handNumberList.get(index), 2 * index, 1, 1, 1, 0.5, 0.2, 
        GridBagConstraints.BOTH, GridBagConstraints.NORTHWEST); 

     } 
    } 

    firstUpdate = 1; 


    return handPanel; 
} 

Iボタンを押すと、ボタンが(整数製)ArrayListの手とhandNumberList両方で二つの成分を除去することになっています。コードが実行されると、コンポーネントは手元から削除されますが、handNumberListには何も起こりません。パネル上にあるものはすべて同じままです。

for (int index = 0; index < hand.size(); index++) 
{ 
    if (firstNumber == hand.get(index)) 
    { 
     handNumberList.remove(index); 
     hand.remove(index); 
    } 
} 

for (int index = 0; index < hand.size(); index++) 
{ 
    if (secondNumber == hand.get(index)) 
    { 
     handNumberList.remove(index); 
     hand.remove(index); 
    } 
} 

それ以外は、すべてがうまく機能しているようです。どんな助け?

+0

転記コードは、任意の感覚を与えません。 –

+0

あなたのコード例は、それらの変数の定義なしでいくつかの変数への参照を含んでいるので、不完全です。 – EJK

+0

常に私のコードと私の問題を完全に理解するためには、どうすればいいのですか? –

答えて

0

パネル上のすべてが同じままです。可視GUIへ

除去(又は追加)成分の基本コードである:

panel.remove(...); 
panel.revalidate(); 
panel.repaint(); 
関連する問題