2011-09-05 70 views

回答

8

如果您參考了JButton,請致電getParent()。如果父母是null,該按鈕不在面板(或任何容器)中。

或者,像@kleopatra建議的那樣,在JPanel實例上調用getComponents()並迭代該數組,以查找任何爲instanceof JButton的東西。

7

是否需要檢查?如果沒有,那麼只需刪除JButton而不檢查。如果它不包含在JPanel中,則不會發生任何事情。

+0

問題是:'我如何檢查JPanel是否包含JButton?'。那些搜索這個問題的人會被引用到這個答案中。這個答案對於提問者的特殊目的是很好的建議,但對於一般問題來說不是一個適當的答案。 – Maarten

+0

@Maarten:你說得對。我回答了問題描述,而不是標題,但人們通常對標題感興趣。我認爲[安德魯的答案](http://stackoverflow.com/a/7318993/887149)波紋管是很好的。 – Mohayemin

0

如果你有到按鈕的引用:

List<Component> componentList = Arrays.asList(panel.getComponents()); 
if (!componentList.contains(button)) { 
    panel.add(button); 
}