版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/53053505
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class DrawTest {
public static void main (String [] args){
JFrame window = new DrawFrame();
window.setTitle("绘制图形");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(100,100,600,400);
window.setVisible(true);
}
}
//窗口类
class DrawFrame extends JFrame{
public DrawFrame(){
add(new DrawComponent());
pack();
}
}
//图形类
class DrawComponent extends JComponent{
private static final int DEAFULT_WIDTH = 400;
private static final int DEFAULT_HEIGHT = 400;
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
//绘制矩形
double leftx = 100;
double topy = 100;
double width = 200;
double height = 150;
Rectangle2D rect = new Rectangle2D.Double(leftx,topy ,width,height);
g2.draw(rect);
//绘制椭圆
Ellipse2D ellipse = new Ellipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);
//绘制直线
g2.draw(new Line2D.Double(leftx,topy,leftx + width ,topy + height));
//画正圆
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);
}
}