我有一個selectpic()方法來設置jbuttons中的圖像。刪除jbutton中的圖像圖標
public void selectpic() {
rule rule = new rule();
rule.shuffle();
for (int i = 0; i < 9; i++) {
if (rule.pic[i] == 0) {
Icon0.setImage(Icon0.getImage().getScaledInstance(WIDTH,HEIGHT,Image.SCALE_DEFAULT));
panel1.add(new JButton(Icon0));
} else if (rule.pic[i] == 1) {
Icon1.setImage(Icon1.getImage().getScaledInstance(WIDTH,HEIGHT,Image.SCALE_DEFAULT));
panel1.add(new JButton(Icon1));
} else if (rule.pic[i] == 2) {
Icon2.setImage(Icon2.getImage().getScaledInstance(WIDTH,HEIGHT,Image.SCALE_DEFAULT));
panel1.add(new JButton(Icon2));
} else if (rule.pic[i] == 3) {
Icon3.setImage(Icon3.getImage().getScaledInstance(WIDTH,HEIGHT,Image.SCALE_DEFAULT));
panel1.add(new JButton(Icon3));
} else if (rule.pic[i] == 4) {
Icon4.setImage(Icon4.getImage().getScaledInstance(WIDTH,HEIGHT,Image.SCALE_DEFAULT));
panel1.add(new JButton(Icon4));
} else if (rule.pic[i] == 5) {
Icon5.setImage(Icon5.getImage().getScaledInstance(WIDTH,HEIGHT,Image.SCALE_DEFAULT));
panel1.add(new JButton(Icon5));
}
}
}
當每一輪結束時,我必須再次調用selectpic()方法來更改圖像。
但是,我不能再簡單地調用該方法來做到這一點。
Q1。是否有必要先刪除圖像,然後再次調用selectpic(),以便它可以更改圖像? Q2302。如果是這樣,我搜索的論壇,並使用
xxxx.setImage(null);
可以去除圖像(XXXX是一個JButton的名稱),
但在selectpic(),我用它來添加Jbuttons中找到。
panel1.add(new JButton(Icon0));
我怎麼知道jbuttons的名稱,以便我可以使用xxxx.setImage(null);先刪除圖像?
謝謝!
selectPic不是一個好方法,因爲它應該只關心自己在已經存在的JButtons上設置圖標,而不是更多。它不應該添加JButton到GUI。編輯:如Emd4600建議。 1+給他的回答。 –