有没有办法在 Java 的图片上作画?

Is there a way to paint on a picture in Java?

我知道必须有一个,但是如果我添加一个标签(应该是我的背景),然后在上面绘画(而不是在所有 space 上),背景会不露面。我很确定这是因为 Java 用标准灰色完全覆盖了它,但我不知道如何告诉 Java 不要那样做。 setOpaque truefalse (两者相同)仅停止更新我不想再次绘制的像素(重绘后)。

自定义绘制(在任何组件上)是通过重写 paintComponent(...) 方法完成的。

因此您可以扩展 JLabel 并添加自定义代码:

@Override
protected void paintComponent(Graphics g)
{
    super.paintComponent(g); // this will paint the label and its Icon

    // add custom code here
}

阅读有关 Custom Painting 的 Swing 教程部分,了解更多信息和示例。

或者另一种选择是扩展 JPanel 并绘制 Image,然后进行自定义绘制。这样所有的绘画代码都在一个方法中。

尝试两种方法,看看哪种方法能满足您的具体要求。