📄 drawings.java
字号:
package DrawPlat;
//定义画图的基本图形单元
import java.io.*;
import java.awt.*;
class drawings implements Serializable{
int x1,y1,x2,y2;//定义坐标属性
int R,G,B; //定义色彩属性
float stroke; //定义线条粗细属性
int type; //定义字体属性
String s1;
String s2; //定义字体风格属性
void judge(int x1,int y1,int x2,int y2) { //定义判断是否在画图区域
if( x1 <= 0 ) x1 = 0;
if( x2 <= 0 ) x2 = 0;
if( y1 <= 0 ) y1 = 0;
if( y2 <= 0 ) y2 = 0;
}
void draw(Graphics2D g2d) {}; //定义绘图函数
}
class Line extends drawings {
@Override
void draw(Graphics2D g2d) {
g2d.setPaint(new Color(R,G,B));
g2d.setStroke(new BasicStroke(stroke,BasicStroke.CAP_ROUND,
BasicStroke.JOIN_BEVEL));
judge(x1, y1, x2, y2);
g2d.drawLine(x1, y1, x2, y2);
}
}//Line
class Rect extends drawings {
@Override
void draw(Graphics2D g2d) {
g2d.setPaint(new Color(R,G,B));
g2d.setStroke(new BasicStroke(stroke));
judge(x1, y1, x2, y2);
g2d.drawRect(Math.min(x1, x2), Math.min(y1, y2),
Math.abs(x1-x2), Math.abs(y1-y2));
}
}//Rect
class fillRect extends drawings {
@Override
void draw(Graphics2D g2d) {
g2d.setPaint(new Color(R,G,B));
g2d.setStroke(new BasicStroke(stroke));
judge(x1, y1, x2, y2);
g2d.fillRect(Math.min(x1, x2), Math.min(y1, y2),
Math.abs(x1-x2), Math.abs(y1-y2));
}
}//fillRect
class Oval extends drawings {
@Override
void draw(Graphics2D g2d) {
g2d.setPaint(new Color(R,G,B));
g2d.setStroke(new BasicStroke(stroke));
judge(x1, y1, x2, y2);
g2d.drawOval(Math.min(x1, x2), Math.min(y1, y2),
Math.abs(x1-x2), Math.abs(y1-y2));
}
} //Oval
class fillOval extends drawings {
@Override
void draw(Graphics2D g2d) {
g2d.setPaint(new Color(R,G,B));
g2d.setStroke(new BasicStroke(stroke));
judge(x1, y1, x2, y2);
g2d.fillOval(Math.min(x1, x2), Math.min(y1, y2),
Math.abs(x1-x2), Math.abs(y1-y2));
}
}//fillOval
class Circle extends drawings {
@Override
void draw(Graphics2D g2d) {
g2d.setPaint(new Color(R,G,B));
g2d.setStroke(new BasicStroke(stroke));
judge(x1, y1, x2, y2);
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)));
}
}//Circle
class fillCircle extends drawings {
@Override
void draw(Graphics2D g2d) {
g2d.setPaint(new Color(R,G,B));
g2d.setStroke(new BasicStroke(stroke));
judge(x1, y1, x2, y2);
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)));
}
}//fillCircle
class RoundRect extends drawings {
@Override
void draw(Graphics2D g2d) {
g2d.setPaint(new Color(R,G,B));
g2d.setStroke(new BasicStroke(stroke));
judge(x1, y1, x2, y2);
g2d.drawRoundRect(Math.min(x1, x2), Math.min(y1, y2),
Math.abs(x1-x2), Math.abs(y1-y2), 50, 35);
}
} //RoundRect
class fillRoundRect extends drawings {
@Override
void draw(Graphics2D g2d) {
g2d.setPaint(new Color(R,G,B));
g2d.setStroke(new BasicStroke(stroke));
judge(x1, y1, x2, y2);
g2d.fillRoundRect(Math.min(x1, x2), Math.min(y1, y2),
Math.abs(x1-x2), Math.abs(y1-y2), 50, 35);
}
} //fillRoundRect
class Pencil extends drawings {
@Override
void draw(Graphics2D g2d) {
g2d.setPaint(new Color(R,G,B));
g2d.setStroke(new BasicStroke(stroke,BasicStroke.CAP_ROUND,
BasicStroke.JOIN_BEVEL));
judge(x1, y1, x2, y2);
g2d.drawLine(x1, y1, x2, y2);
}
}//Pencil
class Rubber extends drawings {
@Override
void draw(Graphics2D g2d) {
// TODO Auto-generated method stub
g2d.setPaint(new Color(255,255,255));
g2d.setStroke(new BasicStroke(stroke+4f,BasicStroke.CAP_ROUND,
BasicStroke.JOIN_BEVEL));
judge(x1, y1, x2, y2);
g2d.drawLine(x1, y1, x2, y2);
}
} //Rubber
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -