0
中間イメージに問題があります。画像は1回だけ表示されます。私は画像を移動した後、 "ライン"はもう表示されません。中間イメージ
public void paintLine(Graphics g) {
if (line == null) {
line = new BufferedImage(1, height, BufferedImage.TYPE_INT_ARGB);
Graphics gImg = line.getGraphics();
float[] data = datas[index];
for (float f : data) {
float[] rgb = ColorMap.getPixelColor(f);
gImg.setColor(new Color(rgb[0], rgb[1], rgb[2]));
gImg.drawRect(0, (int)yPos--, 1, 1);
}
gImg.dispose();
}
xIncr++;
g.drawImage(line, (int)xPos - xIncr, (int)yPos, null);
graph.repaint();
}
このメソッドは、JPanelのpaintComponentで呼び出されます。 毎回イメージ「行」を作成すると、実際にはパフォーマンスが低下して正しく表示されています。
より明確であると思います)。 –
あなたが述べた問題に何も言えませんが、そのままコードには問題があります:ペイントサイクルで再描画を呼び出すように見えるため、誤って致命的ではないループが生成されます... – kleopatra
はい再描画するには、メソッドから削除して、中間イメージの問題を修正しました。問題はforループ、drawRectメソッドのyPosにありました。今はうまくいきます。 – wotan2009