7
A
回答
6
使用方法Container.remove(Component)
,可以從容器中刪除任何組件。例如:
JPanel j = new JPanel();
JButton btn1 = new JButton();
JButton btn2 = new JButton();
j.add(btn1);
j.add(btn2);
j.remove(btn1);
3
有趣的是,我在同樣的問題來了,我很驚訝人們upvoting對方的回答,因爲他清楚地詢問動態創建的組件,而不是下一個變量名已創建的組件這是可以獲得的,而不是匿名創建的對象。
答案很簡單。使用 getComponents()來遍歷添加到JPanel的組件數組。例如,使用instanceof查找要刪除的組件類型。在我的例子中,我刪除了添加到我的JPanel的所有JCheckBox。
Make sure to revalidate and repaint your panel, otherwise changes will not appear
//Get the components in the panel
Component[] componentList = panelName.getComponents();
//Loop through the components
for(Component c : componentList){
//Find the components you want to remove
if(c instanceof JCheckBox){
//Remove it
clientPanel.remove(c);
}
}
//IMPORTANT
panelName.revalidate();
panelName.repaint();
相關問題
- 1. 從JPanel動態刪除組件
- 2. 動態刪除JPanel
- 3. 從JPanel刪除JPanel
- 4. 從JPanel刪除透明JPanel
- 5. 從動態組件中刪除類型
- 6. 從數組中刪除動態對象從DOM中刪除
- 7. 從動態數組中刪除項目
- 8. 從JPanel中添加/刪除
- 9. 刪除動態生成的組件VueJS
- 10. Excel控件 - 動態刪除組合框
- 11. 刪除動態數組?
- 12. 動態數組C++(刪除)
- 13. 刪除動態數組
- 14. 在JPanel中動態添加組件
- 15. 動態添加組件到JPanel
- 16. 難以從Jpanel中刪除所有組件
- 17. 從JPanel中刪除組件時出現StackOverFlowError
- 18. 從刪除動態數組中刪除Seg錯誤
- 19. 從組件中刪除動作事件
- 20. 從動態界面中刪除控件
- 21. 從datagridview動態刪除列
- 22. 從TableLayout動態刪除TableRow
- 23. 從動態刪除樣式?
- 24. 從CSV動態刪除列
- 25. Flex 4從畫布中刪除動態創建的組件
- 26. 動態刪除附件?
- 27. 動態添加組件到JPanel更改組件大小
- 28. 動態地從線程中刪除和添加組件中的組件
- 29. 從JPanel完全刪除JLabel ... not setVisible(False)
- 30. java swing - 從框架中刪除jpanel
請發表您的代碼,以便我們可以提供幫助。 –
爲了更好地提供幫助,請包括[SSCCE](http://www.sscce.org) – mre
您是否正在使用「public void remove(int index)」而不是「public void remove(Component comp)」?如果您想要更好的答案,請發佈SSCCE。 –