drawings.java
来自「用Java语言实现的简单的画图软件」· Java 代码 · 共 101 行
JAVA
101 行
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 + =
减小字号Ctrl + -
显示快捷键?