2015-05-13 108 views
0

林添加按鈕的一場比賽,但是在一個循環中移除該按鈕時,它只會擺脫一個按鈕,即使我加入他們以同樣的方式刪除多個按鈕具有相同的名稱

for(int i=0 - 1; i < 4 ; i++) { 
    panelButtonsub.remove(buttonBlankItems); 
    } 
    panelButtonsub.setLayout (new GridLayout (intLayout,intLayout)); 
    revalidate(); 
    repaint(); 
+0

你能解釋一下代碼嗎?目前還不清楚'buttonBlankItems'是什麼。 –

+4

您嘗試多次刪除相同的按鈕 – Paul

+0

如果您需要幫助,則必須提供[MCVE](http://stackoverflow.com/help/mcve)。 –

回答

-1

你必須每個buttonBlankItems按鈕都有不同的實例。我想你是5次添加相同的按鈕,然後你試圖刪除它們。

2

如果你想刪除面板所有的按鈕,你可以使用:

panel.removeAll(); 

如果要刪除該面板中的前4個按鈕,你可以使用:

for (int i = 0; i < 4, i++) 
    panel.remove(0); 

如果您正嘗試從面板中移除某種類型的組件,然後您需要從最後開始移除組件:

int components = panel.getComponentCount(); 

for (int i = components - 1; i >= 0; i --) 
{ 
    Component c = panel.getComponent(i); 

    if (c instance of BlankButton) 
     panel.remove(i); 
} 

其中BlankButton是您創建的組件,用於通過使用panel.add(new BlankButton(...))來表示額外的空間。

如果你正在嘗試做別的事情,那麼你需要澄清你的問題。

+0

該工作,謝謝 –

+1

@joshreilly,別忘了「接受」答案,通過點擊選中標記,讓人們知道問題已經解決。 – camickr

相關問題