>我有2个面板通过拖放连接
http://i43.tinypic.com/k3m4xs.jpg
在左侧面板中,我用这样的小图片创建了 JLabels:
ImageIcon ico =new ImageIcon("C:\Documents and Settings\student\workspace\DragTest3\src\drzewo.png");;
p1.add(new JLabel(new ImageIcon(((new ImageIcon(ico.getDescription())).getImage()).getScaledInstance(30, 30, java.awt.Image.SCALE_SMOOTH))));
删除 JLabel 后的代码:
ImageIcon ico = (ImageIcon)src.draggingLabel.getIcon();
label=new JLabel(new ImageIcon(((new ImageIcon(ico.getImage()).getImage()).getScaledInstance(60, 60, java.awt.Image.SCALE_SMOOTH))));
但是在右侧面板上的图像中,我看到了像素。
有可能得到这个图像的原始路径吗?或者知道如何在 JLabel 上缩放我的 ImageIcon?
我可能会补充一点,尽管有类似的问题,但我在这个论坛上还没有找到解决方案,所以请不要持有我的问题
您需要以某种方式将原始路径与标签相关联,最有可能是通过创建自己的标签子类来存储其中的路径。然后,可以在获取 drop 事件时从标签查询路径。
您还可以考虑使用ImageIO
加载到BufferedImage
中,然后为您提供对图像的更多功能和控制。