📄 login.java
字号:
package userClient;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.*;
import Data.*;
import Extend.*;
public class Login {
public static void main (String[] args) {
String a = JOptionPane.showInputDialog(null,"Enter your location(floor):",
"OK",JOptionPane.QUESTION_MESSAGE);
int b = 5;//初始化为5,等待其他完成后再改
try {
b =Integer.parseInt(a);
}catch (Exception e) {
JOptionPane.showMessageDialog(null, "Invalid! Forced to floor 5");
}
XYClient finalxy = new XYClient();
StateData stateD = finalxy.getData();
//利用statData来构造OutFrame 和InFrame
while(stateD == null) {
stateD = finalxy.getData();
try {
Thread.sleep(50);
}catch (Exception ex){}
}
Person user = new Person();
user.setOnWhichFloor(b);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int screenWidth = screenSize.width;
int screenHeight = screenSize.height;
OutFrame outshow = new OutFrame(user,finalxy,b,finalxy.getData().floor.upLight[b],finalxy.getData().floor.downLight[b],stateD);
outshow.setName("电梯外部");
outshow.setSize(870, 520);
outshow.setLocation((screenWidth - outshow.getWidth())/2, (screenHeight - outshow.getHeight())/2);
//outshow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
InFrame inshow = new InFrame(user,finalxy,b);
inshow.setName("电梯内部");
inshow.setSize(370, 480);
inshow.setLocation((screenWidth - inshow.getWidth())/2, (screenHeight - inshow.getHeight())/2);
//inshow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
while(true){
stateD = finalxy.getData();
if(user.getInDoor() == false){
inshow.setVisible(false);
outshow.setVisible(true);
outshow.setOutFloor(user.getOnWhichFloor());
b = user.getOnWhichFloor();
//获得数据语句
//StateData stateD1 = finalxy.getData();
outshow.setUpButton(stateD.floor.upLight[b]);
outshow.setDownButton(stateD.floor.downLight[b]);
outshow.doorA.setFloor(stateD.elevator[0].floor);
outshow.doorB.setFloor(stateD.elevator[1].floor);
outshow.doorC.setFloor(stateD.elevator[2].floor);
outshow.doorD.setFloor(stateD.elevator[3].floor);
outshow.doorA.setUpOrDown(stateD.elevator[0].direction);
if(user.getOnWhichFloor() == stateD.elevator[0].floor){
outshow.doorA.door.setDoor((int)(100*stateD.elevator[0].openedPercent));
}else{
outshow.doorA.door.setDoorClosed();
}
outshow.doorB.setUpOrDown(stateD.elevator[1].direction);
if(user.getOnWhichFloor() == stateD.elevator[1].floor){
outshow.doorB.door.setDoor((int)(100*stateD.elevator[1].openedPercent));
}else{
outshow.doorB.door.setDoorClosed();
}
outshow.doorC.setUpOrDown(stateD.elevator[2].direction);
if(user.getOnWhichFloor() == stateD.elevator[2].floor){
outshow.doorC.door.setDoor((int)(100*stateD.elevator[2].openedPercent));
}else{
outshow.doorC.door.setDoorClosed();
}
outshow.doorD.setUpOrDown(stateD.elevator[3].direction);
if(user.getOnWhichFloor() == stateD.elevator[3].floor){
outshow.doorD.door.setDoor((int)(100*stateD.elevator[3].openedPercent));
}else{
outshow.doorD.door.setDoorClosed();
}
}else if(user.getInDoor() == true){
inshow.setVisible(true);
outshow.setVisible(false);
inshow.indoor.setElevatorID(user.getOnWhichElevator());
int zs = user.getOnWhichElevator();//zan shi de int
//is there need a for sentence
inshow.indoor.setFloor(stateD.elevator[zs-1].floor);
inshow.indoor.setUpOrDown(stateD.elevator[zs-1].direction);
inshow.indoor.door.setDoor((int)(100*stateD.elevator[zs-1].openedPercent));
for(int i=1;i<11;i++){
if(stateD.elevator[zs-1].light[i] == 1){
inshow.setButtonPressed(i);
}
if(stateD.elevator[zs-1].light[i] == 0){
inshow.setOffButtonPressed(i);
}
}
}
//there need a stop sentense, which is time.
try{
Thread.sleep(500);
}catch(Exception e){}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -