📄 drawings.java
字号:
import java.awt.*;
import java.io.*;
//定义画图的父类和子类
public class drawings implements Serializable//父类,用到串行化接口,用于保存图形
{
int x1,y1,x2,y2;//定义坐标属性
void draw(Graphics2D g2d){};//定义绘图方法
}
//下面是各种基本图形单元类,都继承父类drawings
class Line extends drawings //直线类
{
void draw(Graphics2D g2d)
{
g2d.drawLine(x1,y1,x2,y2);
}
}
class Rect extends drawings//矩形类
{
void draw(Graphics2D g2d)
{
g2d.drawRect(Math.min(x1,x2),Math.min(y1,y2),
Math.abs(x1-x2),Math.abs(y1-y2));
}
}
class fillRect extends drawings//实心矩形类
{
void draw(Graphics2D g2d)
{
g2d.fillRect(Math.min(x1,x2),Math.min(y1,y2),
Math.abs(x1-x2),Math.abs(y1-y2));
}
}
class Oval extends drawings//椭圆类
{
void draw(Graphics2D g2d)
{
g2d.drawOval(Math.min(x1,x2),Math.min(y1,y2),
Math.abs(x1-x2),Math.abs(y1-y2));
}
}
class fillOval extends drawings//实心椭圆
{
void draw(Graphics2D g2d)
{
g2d.fillOval(Math.min(x1,x2),Math.min(y1,y2),
Math.abs(x1-x2),Math.abs(y1-y2));
}
}
class Circle extends drawings//圆类
{
void draw(Graphics2D g2d)
{
g2d.drawOval(Math.min(x1,x2),Math.min(y1,y2),
Math.max(Math.abs(x1-x2),Math.abs(y1-y2)),
Math.max(Math.abs(x1-x2),Math.abs(y1-y2))
);
}
}
class fillCircle extends drawings//实心圆
{
void draw(Graphics2D g2d)
{
g2d.fillOval(Math.min(x1,x2),Math.min(y1,y2),
Math.max(Math.abs(x1-x2),Math.abs(y1-y2)),
Math.max(Math.abs(x1-x2),Math.abs(y1-y2))
);
}
}
class RoundRect extends drawings//圆角矩形类
{
void draw(Graphics2D g2d)
{
g2d.drawRoundRect(Math.min(x1,x2),Math.min(y1,y2),
Math.abs(x1-x2),Math.abs(y1-y2),
50,35);
}
}
class fillRoundRect extends drawings//实心圆角矩形类
{
void draw(Graphics2D g2d)
{
g2d.fillRoundRect(Math.min(x1,x2),Math.min(y1,y2),
Math.abs(x1-x2),Math.abs(y1-y2),
50,35);
}
}
class Pencil extends drawings//随意画类
{
void draw(Graphics2D g2d)
{
g2d.drawLine(x1,y1,x2,y2);
}
}
class Rubber extends drawings//清除工具类
{
void draw(Graphics2D g2d)
{
g2d.setBackground(Color.white);
g2d.clearRect(x1,y1,x2,y2);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -