当前位置:编程学习 > JAVA >>

java画图问题 求指教

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);
  }
}
为什么我想在随机位置显示的圆没出现呢?求解 谢谢各位了 --------------------编程问答--------------------

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);
        }
    }
}
--------------------编程问答-------------------- 好像还是没有显示啊 --------------------编程问答-------------------- Ellipse2D circle = new Ellipse2D.Double(); --------------------编程问答--------------------


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);
  }
}
--------------------编程问答--------------------
 楼主 发表于: 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);
  }
}
 


--------------------编程问答--------------------
引用 5 楼 liuh2013 的回复:
 楼主 发表于: 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);
  }
}
 


系统错误!! --------------------编程问答--------------------
你中奖了。 --------------------编程问答--------------------
引用
Ellipse2D circle = new Ellipse2D.Double();

三楼正解。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,