import java.awt.geom.*;
import java.awt.*;
import javax.swing.*;public class DrawTest
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
DrawFrame frame = new DrawFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
);
}
}class DrawFrame extends JFrame
{
public DrawFrame()
{
setTitle("DrawTest");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);

//向面板添加内容

DrawComponent component = new DrawComponent();
add(component);
}
public static final int DEFAULT_WIDTH = 400;
public static final int DEFAULT_HEIGHT = 400;
}
class DrawComponent extends JComponent
{
public void painComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;

//画个矩形
double leftX = 100;
double topY = 100;
double width = 150;
double heigh = 200;

Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, heigh);
g2.draw(rect);

//画个椭圆
Ellipse2D ellipse = new  Ellipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);

//画个圆
double centerX = rect.getCenterX();
double centerY = rect.getCenterY();
double radius = 150;

Ellipse2D circle = new Ellipse2D.Double();
circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY + radius);
g2.draw(circle);
}
}

解决方案 »

  1.   


    import java.awt.geom.*;
    import java.awt.*;
    import javax.swing.*;public class DrawTest
    {
    public static void main(String[] args)
    {
    EventQueue.invokeLater(new Runnable()
    {
    public void run()
    {
    DrawFrame frame = new DrawFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    }
    }
    );
    }
    }class DrawFrame extends JFrame
    {
    public DrawFrame()
    {
    setTitle("DrawTest");
    setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);

    //向面板添加内容

    DrawComponent component = new DrawComponent();
    add(component);
    }
    public static final int DEFAULT_WIDTH = 400;
    public static final int DEFAULT_HEIGHT = 400;
    }
    class DrawComponent extends JComponent
    {
    public void painComponent(Graphics g)
    {
    Graphics2D g2 = (Graphics2D) g;

    //画个矩形
    double leftX = 100;
    double topY = 100;
    double width = 150;
    double heigh = 200;

    Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, heigh);
    g2.draw(rect);

    //画个椭圆
    Ellipse2D ellipse = new  Ellipse2D.Double();
    ellipse.setFrame(rect);
    g2.draw(ellipse);

    //画个圆
    double centerX = rect.getCenterX();
    double centerY = rect.getCenterY();
    double radius = 150;

    Ellipse2D circle = new Ellipse2D.Double();
    circle.setFrameFromCenter(centerX, centerY, centerX + radius, centerY + radius);
    g2.draw(circle);
    }
    }
      

  2.   

        public void painComponent(Graphics g)
        public void paintComponent(Graphics g)