您好,我在嘗試繪製多邊形時遇到了麻煩。首先,當我嘗試使用addPoint(int x, int y)
方法繪製多邊形並逐個給出座標時,沒有問題,可以完美地繪製多邊形。但是,如果我將座標作爲數組(x座標和y座標的整數數組)給出錯誤。這是工作的代碼,你可以看到,ArrayIndexOutOfBoundsException在繪製多邊形時出錯
@Override
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
Polygon poly = new Polygon();
poly.addPoint(150, 150);
poly.addPoint(250, 100);
poly.addPoint(325, 125);
poly.addPoint(375, 225);
poly.addPoint(450, 250);
poly.addPoint(275, 375);
poly.addPoint(100, 300);
g2.drawPolygon(poly);
}
但如果我使用xpoints
和ypoints
陣列(其在圖形類中定義的多邊形),它不正常工作。
@Override
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
Polygon poly = new Polygon();
poly.xpoints[0]=150;
poly.xpoints[1]=250;
poly.xpoints[2]=325;
poly.xpoints[3]=375;
poly.xpoints[4]=450;
poly.xpoints[5]=275;
poly.xpoints[6]=100;
poly.ypoints[0]=150;
poly.ypoints[1]=100;
poly.ypoints[2]=125;
poly.ypoints[3]=225;
poly.ypoints[4]=250;
poly.ypoints[5]=375;
poly.ypoints[6]=300;
g2.drawPolygon(poly.xpoints, poly.ypoints, 7);
}
我會很感激,如果你能幫助和感謝。
xpoints和ypoints的數組大小是多少? – PermGenError 2013-03-01 21:44:16
我認爲它應該是7因爲每個數組有7個整數元素? – quartaela 2013-03-01 21:45:27
嘗試'poly.xpoints = new int [7]; poly.ypoints = new int [7];' – gefei 2013-03-01 21:46:10