0

次のコードが、x=+10 ステートメントの連続実行の合計に相当する円の前に大きなスペース ギャップを描画するのはなぜですか?

class Panel extends JPanel {
    private int x=10;
    public void paintComponent( Graphics g ) {
        super.paintComponent( g );
        g.setColor( Color.MAGENTA );
        for (int i=1; i<=8; i++) {
            g.drawOval( x, 10, 50, 50 );
            x+=10;
        }
    }
}

public class Circles156 {
    public static void main(String[] args) {
    JFrame frame = new JFrame( "Drawing lines, rectangles and ovals" );
    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    Panel Panel = new Panel();
    Panel.setBackground( Color.WHITE );
    frame.add( Panel ); // add panel to frame
    frame.setSize( 800, 300 ); // set frame size
    frame.setVisible( true ); // display frame
    }
}
4

1 に答える 1

1

xをpaintComponent()メソッド内に配置します。x isが呼び出されるたびに、「初期値」が80ずつ増加します。

于 2013-03-08T17:31:41.110 に答える