如何在JLabel上绘制图形?

5

我想使用2D Java API在一个已经有图片的JLabel上绘制并保存结果。

我找不到任何关于这个特定主题的教程,是否有人有相关代码或参考资料可以展示如何做到这一点?


1
在JPanel中绘图与在任何JComponent(如JPanel)中绘图类似。您可以在此论坛上搜索许多示例,包括我的示例example 1example 2example 3 - Hovercraft Full Of Eels
示例4 - Hovercraft Full Of Eels
谢谢,我会认真阅读的! - James MV
1
实现Icon是一种相关的方法,可以在这里和在这里看到。 - trashgod
请告诉我是否有任何困惑或者你仍然卡住了。你很快就会得到一些好的直接答案。 - Hovercraft Full Of Eels
@trashgod:非常棒的帖子和建议。我已经投了一票,之前没有投过的那个。 - Hovercraft Full Of Eels
2个回答

5

覆盖JLabelpaintComponent方法。它应该首先调用super.paintComponent,以便您获得JLabel包含的任何内容,然后再添加自己的绘图代码。应该看起来像这样:

public void paintComponent(Graphics g){
    super.paintComponent(g)
    g.drawWhatever ...
}

3

一种方法是将现有的图像和绘图渲染到BufferedImage中,就像在这个示例中覆盖文本到标志上一样。一旦图像完成,使用ImageIO.write()以所需格式保存它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接