📄 graphic.java
字号:
package diamond;
import java.awt.Rectangle;
/**
这个类是绘图形的类,实际方法是移动小块的坐标达到想要的形状,把主窗体frame当参数传进来
是为了得到主窗体中的属性viewGraphicNum的值并直接修改预览窗口的图形,属性viewGraphicNum
是主窗体中预览窗口的图形的形状,类中有一个主方法paint()和7个实现方法,
*/
class Graphic {
private int x=484; //预览窗口中第一个块的坐标的X轴
private int y=85; //预览窗口中第一个块的坐标的Y轴
private Frame1 frame;
public Graphic(Frame1 frame) {
this.frame = frame;
}
public void paint(){
switch(frame.viewGraphicNum){
case 0:
G0();
break;
case 1:
G1();
break;
case 2:
G2();
break;
case 3:
G3();
break;
case 4:
G4();
break;
case 5:
G5();
break;
case 6:
G6();
}
}
private void G1(){ //方块
frame.shapeView[0].setBounds(new Rectangle(x, y, 18, 18));
frame.shapeView[1].setBounds(new Rectangle( x+18, y, 18, 18));
frame.shapeView[2].setBounds(new Rectangle( x, y+18, 18, 18));
frame.shapeView[3].setBounds(new Rectangle( x+18, y+18, 18, 18));
}
private void G2(){ //坚条
frame.shapeView[0].setBounds(new Rectangle(x, y, 18, 18));
frame.shapeView[1].setBounds(new Rectangle(x, y+18, 18, 18));
frame.shapeView[2].setBounds(new Rectangle(x, y+36, 18, 18));
frame.shapeView[3].setBounds(new Rectangle(x, y+54, 18, 18));
}
private void G3(){ //T形
frame.shapeView[0].setBounds(new Rectangle( x, y, 18, 18));
frame.shapeView[1].setBounds(new Rectangle( x+18, y, 18, 18));
frame.shapeView[2].setBounds(new Rectangle( x+36, y, 18, 18));
frame.shapeView[3].setBounds(new Rectangle( x+18, y+18, 18, 18));
}
private void G4(){ //反L形
frame.shapeView[0].setBounds(new Rectangle( x, y+36, 18, 18));
frame.shapeView[1].setBounds(new Rectangle( x+18, y, 18, 18));
frame.shapeView[2].setBounds(new Rectangle( x+18, y+18, 18, 18));
frame.shapeView[3].setBounds(new Rectangle( x+18, y+36, 18, 18));
}
private void G5(){ //L形
frame.shapeView[0].setBounds(new Rectangle( x, y, 18, 18));
frame.shapeView[1].setBounds(new Rectangle( x, y+18, 18, 18));
frame.shapeView[2].setBounds(new Rectangle( x, y+36, 18, 18));
frame.shapeView[3].setBounds(new Rectangle( x+18, y+36, 18, 18));
}
private void G6(){ //反Z形
frame.shapeView[0].setBounds(new Rectangle(x, y, 18, 18));
frame.shapeView[1].setBounds(new Rectangle( x+18, y, 18, 18));
frame.shapeView[2].setBounds(new Rectangle( x+18, y+18, 18, 18));
frame.shapeView[3].setBounds(new Rectangle( x+36, y+18, 18, 18));
}
private void G0(){ //Z形
frame.shapeView[0].setBounds(new Rectangle( x, y, 18, 18));
frame.shapeView[1].setBounds(new Rectangle( x, y+18, 18, 18));
frame.shapeView[2].setBounds(new Rectangle( x+18, y+18, 18, 18));
frame.shapeView[3].setBounds(new Rectangle( x+18, y+36, 18, 18));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -