我試圖給我的界面一個新的功能,但我遇到了一些障礙。我想在鼠標進入時在JLabel上放大圖像。 這裏是我的JLabel的外觀:如何從ImageIcon中獲取圖像(obj)
int sacle = 50 //Size of my JLabel Icon
int zoom = 10 // How much the icon should enlarge
imageIcon = new ImageIcon(new ImageIcon(myClass.class.getResource(Picture))
.getImage().getScaledInstance(scale, scale, Image.SCALE_SMOOTH));
JLabel stackIsGreat = new JLabel();
stackIsGreat.setIcon(imageIcon);
//and I add multiple of such JLabels`
和代碼的推移和。我想創建一個函數並將其添加到mouseListener,因此所有的行爲都是相同的。我想才達到與:
//inside external method
activeLabel = (javax.swing.JLabel)(e.getSource());
ImageIcon temp = (ImageIcon) activeLabel.getIcon();
但是沒有辦法,我知道我能得到利用這一點,因爲Java的說,我需要圖片創建我放大的ImageIcon
ImageIcon enlarged = new ImageIcon((Image).getScaledInstance(scale + zoom, scale + zoom, Image.SCALE_SMOOTH))
哪有我回顧了用於從代碼中創建JLabel的圖像。 任何幫助,將不勝感激。
這可能是答案,但有可能是更好的辦法 'Image image =((ImageIcon)activeLabel.getIcon())。getImage(); ImageIcon imageIconTemp = new ImageIcon(image.getScaledInstance(sizeW + zoom,sizeH + zoom,Image.SCALE_SMOOTH));' –