?? objpolyline.java
字號:
package project.paint;
import java.awt.BasicStroke;
import java.awt.Graphics2D;
import java.awt.Point;
//折線類
class ObjPolyline extends BaseObject {
private int x1,y1,x2,y2;
public ObjPolyline() {
super();
type=BaseObject.PENCIL;
}
public String toString() {
return "折線 "+String.valueOf(getLength())+" 個點";
}
public void addPoint(int x,int y) {
X.add(x);
Y.add(y);
}
public void moveObject(int xBuff,int yBuff) {
for (int i=getLength()-1; i>=0; i--) {
setPoint(i,getPointX(i)+xBuff,getPointY(i)+yBuff);
}
}
public void draw(Graphics2D g2d) {
g2d.setPaint(color);
g2d.setStroke(new BasicStroke(stroke,BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL));
/* 用 drawPolyline 畫 */
int len=getLength();
int[] x=new int[len];
int[] y=new int[len];
for (int i=0; i<len; i++) {
x[i]=(Integer)(X.get(i));
y[i]=(Integer)(Y.get(i));
}
g2d.drawPolyline(x,y,len);
// shape=new Polygon(x,y,len); //封閉折線
// g2d.draw(shape);
/* */
/* 循環畫線 *
for (int i=0; i<getLength()-1; i++) {
int x1=getPointX(i);
int y1=getPointY(i);
int x2=getPointX(i+1);
int y2=getPointY(i+1);
g2d.drawLine(x1,y1,x2,y2);
}
/* */
getXYs();
}
public void changeSize(int x,int y) {
addPoint(x,y);
}
public void drawLastLine(Graphics2D g2d) {
g2d.setPaint(color);
g2d.setStroke(new BasicStroke(stroke,BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL));
int i=getLength()-1;
g2d.drawLine(getPointX(i-1),getPointY(i-1),getPointX(i),getPointY(i));
}
public int getMinX() {
return x1;
}
public int getMinY() {
return y1;
}
public int getMaxX() {
return x2;
}
public int getMaxY() {
return y2;
}
public boolean isCursorIn(int x,int y) {
getXYs();
if (x>=x1 && x<=x2 && y>=y1 && y<=y2)
return true;
else
return false;
}
public void setGradientPaint(Point x,Point y) {
return;
}
public boolean canResizeObject(int x,int y) {
return false;
}
private void getXYs() {
x1=getPointX(0);
y1=getPointY(0);
x2=x1;
y2=y1;
for (int i=0; i<getLength(); i++) {
int xx=getPointX(i);
int yy=getPointY(i);
if (xx<x1)
x1=xx;
if (yy<y1)
y1=yy;
if (xx>x2)
x2=xx;
if (yy>y2)
y2=yy;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -