所以我有這JButtons我添加圖標。圖標太大,所以我事先調整它們,並且它工作正常。除了當我調整窗口大小時,JButtons會改變大小,但不會改變圖標,這是有問題的。自動調整JButton圖標
有沒有辦法讓一個Icon只填充它所連接的JButton?一些代碼,以使其更清晰:
public JewelClass(){
setBackground (new Color (30,30,30));
addActionListener(this);
setLayout(new GridLayout());
ImageIcon icon = new ImageIcon(src/carre.jpg);
setIcon (resizeIcon(icon,60,60));
}
resizeIcon是一個個人的功能,這需要一個圖標,寬度參數和高度參數,並返回一個調整大小圖標(顯然)。 我試着改變佈局,但它沒有改變任何東西。我嘗試獲取JButton的寬度/高度,但是因爲在添加圖標時它們不存在,所以它不起作用。
你們有什麼想法如何解決這個問題嗎?它不一定是一個圖標,只要我的JButton充滿了我給它的圖像,它真棒:)
謝謝!
對於更簡單的方法,更改爲'int margin = 0; Dimension dim = this.getParent()。getSize();'因爲父組件的邊距已經設置,所以不需要重寫'getMinimumSize()'和'getPreferredSize()' –
好極了!所以它可以繪製一個形狀,但唯一的是,一旦我替換成g.setColor(Color.red); g.fillRect(margin,margin,dim.width - margin * 2,dim.height - margin * 2);' 由 'Icon icon = new ImageIcon(「src/triangle.jpg」); icon.paintIcon(this,g,60,60);' ,它根本不顯示任何內容。 你知道這是爲什麼嗎? –
@Mikalichov請參閱我的編輯 – mKorbel