Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法用Java在图片上作画?_Java_Image_Swing_Jlabel - Fatal编程技术网

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

有没有办法用Java在图片上作画?,java,image,swing,jlabel,Java,Image,Swing,Jlabel,我知道必须有一个,但是如果我添加一个标签(应该是我的背景),然后在上面画画(不是在所有的空间上),背景就不会出现。我很确定这是因为Java完全用标准灰色过度渲染,但我不知道如何告诉Java不要这样做setOpaquetrue和false(两者相同)仅停止更新我不想再次绘制的像素(重新绘制后) 通过重写paintComponent(…)方法来完成自定义绘制(在任何组件上) 因此,您可以扩展JLabel并添加自定义代码: @Override protected void paintComponent

我知道必须有一个,但是如果我添加一个标签(应该是我的背景),然后在上面画画(不是在所有的空间上),背景就不会出现。我很确定这是因为Java完全用标准灰色过度渲染,但我不知道如何告诉Java不要这样做
setOpaque
true和
false
(两者相同)仅停止更新我不想再次绘制的像素(重新绘制后)

通过重写
paintComponent(…)
方法来完成自定义绘制(在任何组件上)

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

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

    // add custom code here
}
有关更多信息和示例,请阅读上Swing教程的部分

或者另一个选项是扩展
JPanel
并绘制
图像
,然后进行自定义绘制。这样,所有绘制代码都位于一个方法中


尝试这两种方法,看看哪种方法符合您的确切要求。

欢迎使用Stack Overflow uu如果您编写了任何代码试图解决您的问题,请将其添加到您的帖子中。即使它不起作用,它仍然对其他SO贡献者有用