[英]Is there a way to paint on a picture in Java?
我知道必须有一个,但是如果我要添加一个 Label(这应该是我的背景),然后在其上绘画(不是在所有空间上),则背景不会显示。 我很确定这是因为 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
并绘制Image
,然后进行自定义绘制。 这样,所有的绘画代码都位于一个方法中。
尝试这两种方法,看看哪种方法符合您的确切要求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.