gpt4 book ai didi

java - Java中滚动后的矩形条

转载 作者:行者123 更新时间:2023-12-01 18:33:06 25 4
gpt4 key购买 nike

我使用 Netbeans8 和 Java7。在嵌入 JScrollPane 中的 JPanel 内,我绘制了许多彩色矩形。当我通过滚动条向下滚动时,一些矩形显示为奇怪的 strip ,如下图所示(具体来说,请参见蓝色矩形)。

An example of the strips

我在扩展 JPanel 的类中按如下方式绘制矩形。

List<Rectangle> rectagles = ...
List<Color> colours = ...

@Override
public void paintComponent(Graphics g) {
int index = 0;
int maxX = 0;
int maxY = 0;
for (Rectangle r : rectangles) {
g.setColor(colours.get(index));
int x = r.x;
int y = r.y;
int width = r.width;
int height = r.height;

maxX = Math.max(maxX, x + width);
maxY = Math.max(maxY, y + height);

g.fillRect(x, y, width, height);
g.setColor(Color.BLACK);
g.drawRect(x, y, width, height);
index++;
}
this.setMinimumSize(new Dimension(maxX, maxY));
this.setMaximumSize(new Dimension(maxX, maxY));
this.setPreferredSize(new Dimension(maxX, maxY));
}

如何避免这种恼人的情况?

最佳答案

您需要添加:

super.paintComponent(g);

在您的paintComponent()方法的顶部,在您进行自定义绘画之前清除背景。

关于java - Java中滚动后的矩形条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23253306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com