如果我通过直接方式设置(eggsetOval)我在窗口上获得一个Oval但是如果我在内部创建g.setOval设置Object我有时会在窗口(2,3或4)上获得多个Oval,请查看代码。
- 为什么这可以解释我? - 如何在我的Object中创建Graphics并在一次调用Object后得到一个Oval。 (没有2,3或4)
public class Obj {
Random rand;
private int x, y;
public void paintc (Graphics g,int x, int y) {
g.fillOval(x,y,20,20);
System.out.println(x + " : " +y);
}
}
public class Main extends JPanel{
private Obj obj;
Random rand;
public Main () {
obj = new Obj();
}
public void paint(Graphics g) {
rand = new Random();
int x = rand.nextInt(300 - 20);
int y = rand.nextInt(200 - 20);
obj.paintc(g,x,y); //by this way I sometimes get more than one Oval why????
g.fillOval(x,y,20,20); //by this way I get one oval It is alright
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(300,200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.add(new Main());
}
}