import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
import java.util.Random;import javax.swing.JFrame;
import javax.swing.JPanel;
public class launch {
public static void main(String[] args) {
JFrame frame=new JFrame();
Circle circle=new Circle();
frame.add(circle);
frame.setBounds(0,0,400,400);
frame.setVisible(true);

        }
}class Circle extends JPanel {
  Random rand;
  Ellipse2D circle;
public void paint(Graphics g){
   Graphics2D g2=(Graphics2D)g;
   rand=new Random();
   g2.setColor(Color.RED);
   circle.setFrame(rand.nextInt(50),rand.nextInt(50), 50, 50);
   g2.fill(circle);
  }
}
为什么我想在随机位置显示的圆没出现呢?求解 谢谢各位了

解决方案 »

  1.   


    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.geom.Ellipse2D;
    import java.util.Random;import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class Launch {
        public static void main(String[] args) {
            java.awt.EventQueue.invokeLater(new Runnable(){
                    public void run(){
                        JFrame frame=new JFrame();
                        Circle circle=new Circle();
                        frame.add(circle);
                        frame.setBounds(0,0,400,400);
                        frame.setVisible(true);
                        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    }
                });
        }
        static class Circle extends JPanel {
            Random rand=new Random();
            Ellipse2D circle = new Ellipse2D.Double();
            public void paintComponent(Graphics g){
                Graphics2D g2=(Graphics2D)g;
                g2.setPaint(Color.RED);
                circle.setFrame(rand.nextInt(50),rand.nextInt(50), 50, 50);
                g2.fill(circle);
            }
        }
    }
      

  2.   

    Ellipse2D circle = new Ellipse2D.Double();
      

  3.   

    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.geom.Ellipse2D;
    import java.util.Random;import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class launch {
    public static void main(String[] args) 
    {
    JFrame frame=new JFrame();
    Circle circle=new Circle();
    frame.setBounds(0,0,400,400); frame.add(circle);

    frame.setVisible(true);      }
    }class Circle extends JPanel 
    {
      Random rand;
    //你没有实例化这个对象
      Ellipse2D circle = new Ellipse2D.Double();
    public void paint(Graphics g){   Graphics2D g2=(Graphics2D)g;
       rand=new Random();
       g2.setColor(Color.RED);
       circle.setFrame(rand.nextInt(50),rand.nextInt(50), 50, 50);
       g2.fill(circle);
      }
    }
      

  4.   

     楼主 发表于: 2013-05-16 11:12:51 
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.geom.Ellipse2D;
    import java.util.Random;import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class launch {
    public static void main(String[] args) {
    JFrame frame=new JFrame();
    Circle circle=new Circle();
    frame.add(circle);
    frame.setBounds(0,0,400,400);
    frame.setVisible(true);        }
    }class Circle extends JPanel {
      Random rand;
      Ellipse2D circle;
    public void paint(Graphics g){
       Graphics2D g2=(Graphics2D)g;
       rand=new Random();
       g2.setColor(Color.RED);
       circle.setFrame(rand.nextInt(50),rand.nextInt(50), 50, 50);
       g2.fill(circle);
      }
    }