0
我的自定義畫布延伸帆布,並覆蓋paint()方法,如下爲什麼會出現短線段而不是全線圖?
@Override
public void paint(Graphics g) {
Rectangle bounds = getBounds();
g.translate(0, (bounds.y + bounds.height)/2);
int maxX = (int) bounds.getMaxX();
g.drawLine(currX, currY, currX + 5, m_nextY);
currX = currX > maxX ? maxX : currX + 5;
currY = m_nextY;
if (currX >= maxX) {
currX = 0;
}
}
int currX = 0;
int currY = 0;
int m_nextY;
public void setNextY(int pNext) {
m_nextY = pNext;
}
該程序入口點運行一個循環,以提取被縮放的隨機數和設置位置的Y座標這樣
java.util.Random engine = new Random();
while (Thread.currentThread().isAlive()) {
myCanvas.setNextY((int) (engine.nextFloat() * -15f));
myCanvas.paint(getGraphics());
try {
Thread.sleep(300);
} catch (InterruptedException ex) {
// Balderdash!
}
}
這裏預期的輸出應該是一個折線圖。相反,只有一個短小的細分市場和姿態各異。
我在這裏做錯了什麼?
engine是java.util.Random的一個實例 – Everyone 2012-01-16 17:56:34