java图形界面显示大热图很慢

时间:2022-11-08 12:23:20
想用java swing显示有100万个点的热图(1000X1000个点),并且能根据需要调整某些色块的顺序位置。

目前用的技术是建立100万个标签,每个标签显示一个热图块的颜色。

这种方式显示很慢,后台显示运行已经完成,但是界面上一直显示不出来。

请问有没有别的比较高效的方法解决这个问题?或者有什么优化的方法?

2 个解决方案

#1


可以手动绘制形状(比如是一个点或很小的矩形)

例如
JPanel p = new JPanel();
p.getGraphics().drawRect();


public void drawRect(int x,
                     int y,
                     int width,
                     int height)绘制指定矩形的边框。矩形的左边缘和右边缘分别位于 x 和 x + width。上边缘和下边缘分别位于 y 和 y + height。使用图形上下文的当前颜色绘制该矩形。 

参数:
x - 要绘制矩形的 x 坐标。
y - 要绘制矩形的 y 坐标。
width - 要绘制矩形的宽度。
height - 要绘制矩形的高度。

#2


解决了,谢谢。

#1


可以手动绘制形状(比如是一个点或很小的矩形)

例如
JPanel p = new JPanel();
p.getGraphics().drawRect();


public void drawRect(int x,
                     int y,
                     int width,
                     int height)绘制指定矩形的边框。矩形的左边缘和右边缘分别位于 x 和 x + width。上边缘和下边缘分别位于 y 和 y + height。使用图形上下文的当前颜色绘制该矩形。 

参数:
x - 要绘制矩形的 x 坐标。
y - 要绘制矩形的 y 坐标。
width - 要绘制矩形的宽度。
height - 要绘制矩形的高度。

#2


解决了,谢谢。