1.新建java project,新建一个包,如baseTest,在该包下新建类,代码如下:
package baseTest;
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class DrawLineFrame {
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{
/**
*
*/
private static final long serialVersionUID = 1L;
public DrawFrame(){
add(new DrawComponent());
pack();
}
}
//图形类
class DrawComponent extends JComponent{
/**
*
*/
private static final long serialVersionUID = 1L;
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);
}
}
2.新建包含,main的主类,代码如下:
package testjar;
import baseTest.DrawLineFrame;
public class testjar {
public static void main(String[] args) {
//baseTest.DrawLineFrame.main(args);//方法1:通过jar包引用函数
DrawLineFrame.main(args);//方法2:通过源码包直接引入
}
}
3.测试,运行。