📄 button.java
字号:
stop2.setContentAreaFilled(false);
stop3 = new JButton(bugstop2);
stop3.setMaximumSize(new Dimension(200, 40));
stop3.setPreferredSize(new Dimension(200, 40));
stop3.setPressedIcon(bugstop3);
stop3.setRolloverIcon(bugstop1);
stop3.setBorderPainted(false);
stop3.setContentAreaFilled(false);
stop4 = new JButton(bugstop2);
stop4.setMaximumSize(new Dimension(200, 40));
stop4.setPreferredSize(new Dimension(200, 40));
stop4.setPressedIcon(bugstop3);
stop4.setRolloverIcon(bugstop1);
stop4.setBorderPainted(false);
stop4.setContentAreaFilled(false);
JPanel sp = new JPanel(new GridLayout(1, 4, 5, 5));
sp.setBackground(Color.WHITE);
sp.add(stop1);
sp.add(stop2);
sp.add(stop3);
sp.add(stop4);
JPanel bp = new JPanel(new BorderLayout(5, 5));
bp.setBackground(Color.WHITE);
bp.add(sp, BorderLayout.NORTH);
bp.add(p, BorderLayout.SOUTH);
// 为按钮添加监听
ButtonListener bt = new ButtonListener();
up1.addActionListener(bt);
down1.addActionListener(bt);
up2.addActionListener(bt);
down2.addActionListener(bt);
up3.addActionListener(bt);
down3.addActionListener(bt);
up4.addActionListener(bt);
down4.addActionListener(bt);
open1.addActionListener(bt);
close1.addActionListener(bt);
open2.addActionListener(bt);
close2.addActionListener(bt);
open3.addActionListener(bt);
close3.addActionListener(bt);
open4.addActionListener(bt);
close4.addActionListener(bt);
start1.addActionListener(bt);
end1.addActionListener(bt);
start2.addActionListener(bt);
end2.addActionListener(bt);
start3.addActionListener(bt);
end3.addActionListener(bt);
start4.addActionListener(bt);
end4.addActionListener(bt);
pinfor.addActionListener(bt);
exit.addActionListener(bt);
stop1.addActionListener(bt);
stop2.addActionListener(bt);
stop3.addActionListener(bt);
stop4.addActionListener(bt);
JPanel p0 = new JPanel(new BorderLayout(5, 0));
JPanel p00 = new JPanel();
p00.add(exit);
p00.add(pinfor);
p0.add(p00, BorderLayout.NORTH);
p0.add(bp, BorderLayout.SOUTH);
container.add(p0, BorderLayout.SOUTH);
}
class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
// 按钮行为定义为以AdministratorCommandData类的一个实例向服务器端
// 发送数据,以实现控制电梯以最高优先级按照管理员的指令运行
AdministratorCommandData a = new AdministratorCommandData();
//增加对于4号电梯的控制
if (e.getSource() == up1) {
a.button = 1;
a.elevator = 0;
admin.SendAdminData(a);
} else if (e.getSource() == down1) {
a.button = 2;
a.elevator = 0;
admin.SendAdminData(a);
} else if (e.getSource() == up2) {
a.button = 1;
a.elevator = 1;
admin.SendAdminData(a);
} else if (e.getSource() == down2) {
a.button = 2;
a.elevator = 1;
admin.SendAdminData(a);
} else if (e.getSource() == up3) {
a.button = 1;
a.elevator = 2;
admin.SendAdminData(a);
} else if (e.getSource() == down3) {
a.button = 2;
a.elevator = 2;
admin.SendAdminData(a);
} else if (e.getSource() == up4) {
a.button = 1;
a.elevator = 3;
admin.SendAdminData(a);
} else if (e.getSource() == down4) {
a.button = 2;
a.elevator = 3;
admin.SendAdminData(a);
} else if (e.getSource() == open1) {
a.button = 3;
a.elevator = 0;
admin.SendAdminData(a);
} else if (e.getSource() == close1) {
a.button = 4;
a.elevator = 0;
admin.SendAdminData(a);
} else if (e.getSource() == open2) {
a.button = 3;
a.elevator = 1;
admin.SendAdminData(a);
} else if (e.getSource() == close2) {
a.button = 4;
a.elevator = 1;
admin.SendAdminData(a);
} else if (e.getSource() == open3) {
a.button = 3;
a.elevator = 2;
admin.SendAdminData(a);
} else if (e.getSource() == close3) {
a.button = 4;
a.elevator = 2;
admin.SendAdminData(a);
} else if (e.getSource() == open4) {
a.button = 3;
a.elevator = 3;
admin.SendAdminData(a);
} else if (e.getSource() == close4) {
a.button = 4;
a.elevator = 3;
admin.SendAdminData(a);
} else if (e.getSource() == start1) {
a.button = 5;
a.elevator = 0;
admin.SendAdminData(a);
} else if (e.getSource() == end1) {
a.button = 6;
a.elevator = 0;
admin.SendAdminData(a);
} else if (e.getSource() == start2) {
a.button = 5;
a.elevator = 1;
admin.SendAdminData(a);
} else if (e.getSource() == end2) {
a.button = 6;
a.elevator = 1;
admin.SendAdminData(a);
} else if (e.getSource() == start3) {
a.button = 5;
a.elevator = 2;
admin.SendAdminData(a);
} else if (e.getSource() == end3) {
a.button = 6;
a.elevator = 2;
admin.SendAdminData(a);
} else if (e.getSource() == start4) {
a.button = 5;
a.elevator = 3;
admin.SendAdminData(a);
} else if (e.getSource() == end4) {
a.button = 6;
a.elevator = 3;
admin.SendAdminData(a);
} else if (e.getSource() == exit) {
admin.Close();
System.exit(0);
} else if (e.getSource() == stop1) {
a.elevator = 0;
a.button = 0;
admin.SendAdminData(a);
} else if (e.getSource() == stop2) {
a.elevator = 1;
a.button = 0;
admin.SendAdminData(a);
} else if (e.getSource() == stop3) {
a.elevator = 2;
a.button = 0;
admin.SendAdminData(a);
} else if (e.getSource() == stop4) {
a.elevator = 3;
a.button = 0;
admin.SendAdminData(a);
} else if (e.getSource() == pinfor) {
admin.GetFile();
}
}
}
public class ElevationSimulationAnimate extends ElevatorSimulation
implements ActionListener {
protected Timer timer = new Timer(500, this);
StateData sd;
ElevatorData[] elevator;
public ElevationSimulationAnimate() {
timer.start();
StateData sd = new StateData();
sd.floor = new FloorData();
}
public void actionPerformed(ActionEvent e) {
//这里有大量的关于每一个电梯的活动操作,采用时钟Timer驱动
sd = admin.getData();//捕获数据语句
while (sd == null) {
sd = admin.getData();
try {
Thread.sleep(50);
}catch (Exception ex){}
}
int floor1 = sd.elevator[0].floor;
int floor2 = sd.elevator[1].floor;
int floor3 = sd.elevator[2].floor;
int floor4 = sd.elevator[3].floor;
int directionone = sd.elevator[0].direction;
int directiontwo = sd.elevator[1].direction;
int directionthree = sd.elevator[2].direction;
int directionfour = sd.elevator[3].direction;
double openpercent1 = sd.elevator[0].openedPercent;
double openpercent2 = sd.elevator[1].openedPercent;
double openpercent3 = sd.elevator[2].openedPercent;
double openpercent4 = sd.elevator[3].openedPercent;
//控制台监测输出
System.out.println("Elevator position : "+floor1+" "+floor2+
" "+floor3+" "+floor4);
System.out.println("Open percent : "+openpercent1+" "+openpercent2+" "+
openpercent3+" "+openpercent4);
//
if (directionone == 1 || directionone == 2 || directionone == -2
|| directionone == 0) {
setFloor1(floor1, "up", openpercent1);
repaint();
} else if (directionone == -1 || directionone == 2
|| directionone == -2 || directionone == 0) {
setFloor1(floor1, "down", openpercent1);
repaint();
}
if (directiontwo == 1 || directiontwo == 2
|| directiontwo == -2 || directiontwo == 0) {
setFloor2(floor2, "up", openpercent2);
repaint();
} else if (directiontwo == -1 || directiontwo == 2
|| directiontwo == -2 || directiontwo == 0) {
setFloor2(floor2, "down", openpercent2);
repaint();
}
if (directionthree == 1 || directionthree == 2
|| directionthree == -2 || directionthree == 0) {
setFloor3(floor3, "up", openpercent3);
repaint();
} else if (directionthree == -1 || directionthree == 2
|| directionthree == -2 || directionthree == 0) {
setFloor3(floor3, "down", openpercent3);
repaint();
}
if (directionfour == 1 || directionfour == 2
|| directionfour == -2 || directionfour == 0) {
setFloor4(floor4, "up", openpercent4);
repaint();
} else if (directionfour == -1 || directionfour == 2
|| directionfour == -2 || directionfour== 0) {
setFloor4(floor4, "down", openpercent4);
repaint();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -