是否可以在JLabel中为ImageIcon制作选择工具?

时间:2016-01-17 09:56:23

标签: java swing

我希望能够在JLabel上的ImageIcon中选择图像的一部分并用颜色填充它。 这是否可能我有点困惑,因为我已经读到ImageIcon不可选,但我不确定这是否意味着我必须找到另一种显示图像的方式?

1 个答案:

答案 0 :(得分:1)

可能,是的,困难,是的。

您需要以BufferedImage开头,然后可以将其包裹在ImageIcon中并应用于JLabel

然后,您需要在标签上注册MouseMotionListenerMouseListener以检测所选区域,然后相应地修改BufferedImage并重新绘制所有内容。

话虽如此,我不会使用JLabel,因为您无法准确计算标签呈现图标的位置,相反,我会自己制作一个自定义组件,从{{{ 1}}并封装其中的功能并使用自定义绘画来绘制图像(和选择区域)

首先查看How to Write a Mouse ListenerPerforming Custom Painting2D Graphics,可能Reading/Loading an ImageWriting/Saving an Image