gpt4 book ai didi

java - 如何从 ImageIcon 获取图像(obj)

转载 作者:行者123 更新时间:2023-12-02 03:21:38 26 4
gpt4 key购买 nike

我正在尝试为我的界面赋予新功能,但遇到了一些障碍。我想在鼠标输入时放大 JLabel 上的图像。这是我的 JLabels 的外观:

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说我需要Image来创建放大的ImageIcon

ImageIcon enlarged = new ImageIcon((Image).getScaledInstance(scale + zoom, scale + zoom, Image.SCALE_SMOOTH))

如何从代码中检索用于创建 JLabel 的图像。任何帮助将不胜感激。

最佳答案

I want to enlarge image on JLabel when mouseEnters.

您可以使用 JButton 来提供翻转效果,而不是创建自己的 MouseListener:

类似于:

JButton button = new JButton(...);
button.setBorderPainted( false );
ImageIcon icon = (ImageIcon)button.getIcon();
Image image = icon.getImage();
Image scaled = image.getScaledImage(...);
button.setRolloverIcon( new ImageIcon( scaled ) );

关于java - 如何从 ImageIcon 获取图像(obj),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39538251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com