- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好 Java 开发人员,
到目前为止,我从未遇到过这种情况。这个场景是:
(为了让读者更了解这个场景,让我们看一下这个例子。)
我们声明了这个 Box.png
和 Circle.png
:
private final URL IMG1_DIRECTORY = Main.class.getResource("/res/Box.png");
private final URL IMG2_DIRECTORY = Main.class.getResource("/res/Circle.png");
在我们的构造函数下:
try {
box = ImageIO.read(IMG1_DIRECTORY);
} catch (Exception e) {
// Our catchblock here
}
try {
circle= ImageIO.read(IMG2_DIRECTORY);
} catch (Exception e) {
// Our catchblock here
}
currentImg = box;
使用 paint
方法,框被绘制到我们的 JPanel
中,如我们的插图 1
所示。
@Override
public void paint(Graphics g) {
g.drawImage(currentImg, DEFAULT_LOCATION, DEFAULT_LOCATION, null);
}
通过某个事件,本例中的 mousePressed
将更改 Image。
@Override
public void mousePressed( MouseEvent e ) {
currentImg = circle;
repaint();
}
所需的输出显示在我们的插图 2
中。不幸的是,结果恰好是 插图 3
。
问题是:
- 为什么结果恰好是两个图像相互叠加?
- 另一件事,如果我有一个代码可以将图像重绘为圆形(来自 Illustration 3
),该框将覆盖 circle
图像。
最佳答案
super.paint
,除了一大堆其他重要的东西外,它还清除了图形上下文paint
,通常首选使用paintComponent,但请务必调用super.paintComponent
图形上下文是一种共享资源,往往会在重绘之间重复使用,这意味着,因为您在绘制时没有清除图形上下文,所以您拥有之前的“状态”,然后再重新绘制
关于Java不必要的图像叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14211920/
jQuery attributeContainsPrefix [name^="value"] 对比 attributeStartsWith [name|="value"] 实际区别是什么? 最佳答案
在1.1部分在RFC 6749中,有四种角色:资源拥有者、资源服务器、客户端和授权服务器。 如果客户端和资源所有者是同一实体,OAuth 是否变得多余或不必要? 例如,我有一个封闭的 API 和一个面
我有一段代码,其中有一个带有保护子句的 raise 语句: def validate_index index # Change to SizeError raise ArgumentError
我看到了这篇文章( JPA Entity Lifecycle Events vs database trigger ),但它并没有像我在这里那样明确地询问: 当我插入 PK 值为 (null) 的行时
所以,我有一段代码看起来像 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){ // Do something }
我是一名优秀的程序员,十分优秀!