這是由布氏算法計算出的位置畫點的代碼:延遲不是在Java圖形工作
public void drawBresenhamPoints(Graphics2D g2, List<Point> bresenham) throws InterruptedException
{
Graphics2D g = (Graphics2D) g2;
if(bresenham == null)
return;
g.setColor(Color.DARK_GRAY);
for(int i = 0; i < bresenham.size(); i = i+20)
{
int x = bresenham.get(i).x - pointWidth1/2;
int y = bresenham.get(i).y - pointWidth1/2;
int ovalW = pointWidth1;
int ovalH = pointWidth1;
g.fillOval(x, y, ovalW, ovalH);
// delay
try
{
Thread.sleep(10);
}
catch(Throwable e)
{
System.out.println(e.getMessage());
}
}
}
名單「布氏」包含了一切與布氏的幫助下預先計算的點畫線算法。我想在'for'循環中設置1秒的延遲,以便在1秒的時間間隔後繪製每個點。 「延遲」部分中列出的部分不起作用。如何使延遲工作? 更具體地說,我想要在屏幕上以1秒爲間隔逐個繪製所有點。
閱讀有關定時器和不使用的睡眠,避免鎖EDT感謝 – StanislavL