我是否可以使用任何属性或任何代码来使JLabel
内的图标可调整大小。或者是否有任何其他可以存储图像的项目,我可以使用它来在JFrame
内部显示可调整大小的图像?
答案 0 :(得分:0)
使用此代码:
photo = new ImageIcon(UrlofPhoto);
Image im = photo.getImage();
Image Newim = im.getScaledInstance(yourlabel.getWidth(), yourlabel.getHeight(),Image.SCALE_SMOOTH);
ImageIcon Newphoto=new ImageIcon(Newim);
yourlabel.setIcon(Newphoto);
不要忘记将初始化大小设置为yourlabel
答案 1 :(得分:0)
一般情况下,我建议您使用JLabel
进行尝试,因为JLabel
还有很多其他您不想搞砸的功能(对齐和文字)。
通常,更好的解决方案是使用专用的“图像”面板,您可以对其进行额外控制,以微调您希望缩放的工作方式。
如果您真的坚持使用JLabel
,我建议在其中添加ComponentListener
并在更改大小时调整基础图像的大小。这个问题是componentResized
可能会连续快速调用,这意味着你需要设计某种合并算法,只对给定时间内的最后一个事件作出反应......
答案 2 :(得分:0)
查看Darryl的Stretch Icon,它会动态缩放图标以填充标签。