|
@@ -1,6 +1,7 @@
|
|
|
package model;
|
|
|
|
|
|
import config.subConfig.DoorConfig;
|
|
|
+import config.subConfig.RoomConfig;
|
|
|
|
|
|
import java.awt.*;
|
|
|
|
|
@@ -9,10 +10,15 @@ import java.awt.*;
|
|
|
* @create 2018/7/18 13:46
|
|
|
* @email duh@elab-plus.com
|
|
|
**/
|
|
|
-public class Door extends Template{
|
|
|
+public class Door extends ModuleInAxis {
|
|
|
private DoorConfig config;
|
|
|
+ private RoomConfig room;
|
|
|
@Override
|
|
|
public void drawSelf(Graphics g) {
|
|
|
+ if(null == room || null == config){
|
|
|
+ System.out.println("room is null or config is null");
|
|
|
+ return;
|
|
|
+ }
|
|
|
// 1. 绘制一条圆弧: 椭圆的外切矩形 左上角坐标为(0, 0), 宽100, 高100,
|
|
|
// 弧的开始角度为0度, 需要绘制的角度数为-90度,
|
|
|
// 椭圆右边水平线为0度, 逆时针为正角度, 顺时针为负角度
|
|
@@ -20,11 +26,13 @@ public class Door extends Template{
|
|
|
Graphics2D g2d = (Graphics2D) g.create();
|
|
|
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
|
|
g2d.setColor(Color.RED);
|
|
|
- g2d.drawArc(config.getX(), config.getY(), config.getRadis(), config.getRadis(), 0, 90*config.getOpenDir());
|
|
|
+ int x = room.getX()+config.getX();
|
|
|
+ int y = room.getY()+config.getY();
|
|
|
+ g2d.drawArc(x, y, config.getRadis(), config.getRadis(), 0, 90*config.getOpenDir());
|
|
|
g2d.setColor(Color.GRAY);
|
|
|
// 3. 填充一个扇形
|
|
|
- g2d.fillArc(config.getX(), config.getY(), config.getRadis(), config.getRadis(), 0, 90*config.getOpenDir());
|
|
|
-
|
|
|
+ g2d.fillArc(x, y, config.getRadis(), config.getRadis(), 0, 90*config.getOpenDir());
|
|
|
+ g2d.drawString(x+","+y,x-10,y+10);
|
|
|
g2d.dispose();
|
|
|
}
|
|
|
|
|
@@ -36,4 +44,12 @@ public class Door extends Template{
|
|
|
public void setConfig(DoorConfig config) {
|
|
|
this.config = config;
|
|
|
}
|
|
|
+
|
|
|
+ public RoomConfig getRoom() {
|
|
|
+ return room;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setRoom(RoomConfig room) {
|
|
|
+ this.room = room;
|
|
|
+ }
|
|
|
}
|