2014-01-22 39 views
2

我試圖做一個內存匹配遊戲,並且我有圖標圖像,當它被點擊時,我將其放置在JButton上。我的問題是,有沒有辦法從JButton中刪除圖標?我想在用戶點擊時顯示圖像,如果用戶點擊的第二個按鈕與第一個按鈕沒有相同的圖像,那麼它會消失...任何想法?如何刪除JButton上的圖標?

+0

你的問題可以使用一些代碼,闡明你的問題。 – rene

回答

7

簡單,將圖標設置爲null。它沒有圖標,因此將其刪除。

button.setIcon(null); 
+2

這將工作完美。似乎我只是在推翻它。我很感激幫助。 –

3

使用下面的代碼:

JButton button = new JButton(); 
    button.setIcon(null); 
2

做到這一點的最好辦法,就是與同樣大小的透明圖標來取代現有的圖標。這將確保該按鈕不會更改大小,並可能會干擾佈局中出現的其他GUI元素的佈局。例如。

BufferedImage ourIcon = ... 
BufferedImage invisibleIcon = new BufferedImage(
    ourIcon.getWidth(), ourIcon.getHeight(), BufferedImage.TYPE_INT_ARGB); 

然後,只需:

// use a JToggleButton instead of a JButton - it will remain pressed 
JToggleButton button = new JToggleButton(new ImageIcon(ourIcon)); 
button.setPressedIcon(new ImageIcon(invisibleIcon)); 
// start a timer to change the state back, if required..