📄 printrectangle.java
字号:
package barprint.print;
import java.awt.*;
import java.awt.print.*;
import java.util.*;
/**
*打印矩形对象,矩形对象一般用来组成表格,
*/
public class PrintRectangle implements PrintObject{
float lineWidth;
BasicStroke bs;
/**
*3D矩形
*/
public final static int REC3D = 0;
/**
*普通矩形
*/
public final static int RECNORMAL = 1;
/**
*圆角矩形
*/
public final static int RECROUND = 2;
int px;
int py;
int w;
int h;
/**
* x 方向圆倒角直径
*/
int ax;
/**
* y 方向圆倒角直径
*/
int ay;
int type;
boolean raised;
/**
*设置线宽
*@param w 线的宽度
*/
public void setWidth(float w){
lineWidth = w;
bs = new BasicStroke(lineWidth);
}
/**
*构造矩形打印对象
*@param x 矩形左上角 X 坐标
*@param y 矩形左上角 y 坐标
*@param width 矩形宽
*@param height 矩形高
*/
public PrintRectangle(int x,int y,int width ,int height){
px = x;
py = y;
w = width;
h = height;
}
/**
*设置矩形类型
*@param t 矩形类型
*/
public void setType(int t){
type = t;
}
/**
*设置3D矩形类型
*@param r 是否升起
*/
public void set3DType(boolean r){
raised =r;
}
/**
*设置圆角矩形的圆角
*@param xd x方向圆角直径
*@param yd y方向圆角直径
*/
public void setRound(int xd,int yd){
ax = xd;
ay = yd;
}
/**
*@see PrintObject#print
*/
public void print(Graphics gg){
Graphics2D g = (Graphics2D)gg;
g.setStroke(bs);
switch (type){
case REC3D:{
g.draw3DRect(px, py, w, h, raised);
break;
}
case RECNORMAL:{
g.drawRect(px, py, w, h);
break;
}
case RECROUND:{
g.drawRoundRect(px, py, w, h, ax, ay);
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -