2016-07-20 2 views
-4

У меня есть программа, которая имеет ArrayList из JLabels, называемую handNumberList. Метод getHand() используется для отображения списка JLabels в начале программы, когда я создаю панель.Нужна помощь в удалении JLabel из ArrayList

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; 
} 

После этого я нажимаю кнопку и кнопка предполагается удалить два компонента в обоих 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(); 
Смежные вопросы