电梯模拟程序Java语言编写Word文档下载推荐.docx
《电梯模拟程序Java语言编写Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《电梯模拟程序Java语言编写Word文档下载推荐.docx(20页珍藏版)》请在冰点文库上搜索。
DJPanel.add(TestLabel2);
DJPanel.add(TestLabel3);
DJPanel.add(TestLabel4);
DJPanel.add(TestField[0]);
DJPanel.add(TestField[1]);
DJPanel.add(TestField[2]);
DJPanel.add(TestField[3]);
DJPanel.add(TestField[4]);
DJPanel.add(TestField[5]);
DJPanel.add(TestField[6]);
DJPanel.add(TestField[7]);
DJPanel.add(TestField[8]);
DJPanel.add(TestField[9]);
DJPanel.add(TestField[10]);
DJPanel.add(TestField[11]);
DJPanel.add(TestField[12]);
DJPanel.add(TestField[13]);
DJPanel.add(TestField[14]);
DJPanel.add(TestField[15]);
DJPanel.add(ok);
DJPanel.add(cancel);
add(DJPanel);
ok.addActionListener(this);
cancel.addActionListener(this);
setBounds(450,170,300,300);
publicvoidactionPerformed(ActionEvente)//Dialog监听函数
if(e.getSource()==ok)
Message=1;
setVisible(false);
elseif(e.getSource()==cancel)
Message=-1;
else
;
//LiftTest类
classLiftTestextendsJFrameimplementsActionListener
{
Dialog
mydialog;
JMenuBarmenubar;
JMenumenu,submenu,submenuhelp;
JMenuItemitem1,item2,menuitemhelp;
//变量定义
intx;
inty;
intLIsRun=0;
//左电梯是否在运行(0或1)
intRIsRun=0;
//右电梯是否在运行(0或1)
intLDirection=0;
//左电梯运行方向
intRDirection=0;
//右电梯运行方向
intLWantLevel=0;
//乘客目的层数
intRWantLevel=0;
intLNowLevel=0;
//乘客开始时所在层数
intRNowLevel=0;
intLLiftNowLevel=1;
//左电梯目前所在层数
intRLiftNowLevel=1;
//右电梯目前所在层数
intWantDirection=0;
//乘客目标运行方向
intWaitPeopleNum[]=newint[11];
//保留数组(未用)
inta=0;
intb=0;
//线程定义
LIOlio=newLIO();
RIOrio=newRIO();
ThreadLStartThread=newThread(lio);
ThreadRStartThread=newThread(rio);
//上下电梯的按钮定义
JButtonBlue10=newJButton(newImageIcon("
10x.gif"
));
JButtonBlue9=newJButton(newImageIcon("
9x.gif"
JButtonBlue8=newJButton(newImageIcon("
8x.gif"
JButtonBlue7=newJButton(newImageIcon("
7x.gif"
JButtonBlue6=newJButton(newImageIcon("
6x.gif"
JButtonBlue5=newJButton(newImageIcon("
5x.gif"
JButtonBlue4=newJButton(newImageIcon("
4x.gif"
JButtonBlue3=newJButton(newImageIcon("
3x.gif"
JButtonBlue2=newJButton(newImageIcon("
2x.gif"
JButtonRed9=newJButton(newImageIcon("
9s.gif"
JButtonRed8=newJButton(newImageIcon("
8s.gif"
JButtonRed7=newJButton(newImageIcon("
7s.gif"
JButtonRed6=newJButton(newImageIcon("
6s.gif"
JButtonRed5=newJButton(newImageIcon("
5s.gif"
JButtonRed4=newJButton(newImageIcon("
4s.gif"
JButtonRed3=newJButton(newImageIcon("
3s.gif"
JButtonRed2=newJButton(newImageIcon("
2s.gif"
JButtonRed1=newJButton(newImageIcon("
1s.gif"
//电梯门定义
JButtonLLiftLDoor=newJButton(newImageIcon("
LLiftLDoor.gif"
//设置门图标
JButtonLLiftRDoor=newJButton(newImageIcon("
LLiftRDoor.gif"
JButtonRLiftLDoor=newJButton(newImageIcon("
RLiftLDoor.gif"
JButtonRLiftRDoor=newJButton(newImageIcon("
RLiftRDoor.gif"
//电梯内部按钮定义
JButtonLPressButton1=newJButton("
1"
JButtonLPressButton2=newJButton("
2"
JButtonLPressButton3=newJButton("
3"
JButtonLPressButton4=newJButton("
4"
JButtonLPressButton5=newJButton("
5"
JButtonLPressButton6=newJButton("
6"
JButtonLPressButton7=newJButton("
7"
JButtonLPressButton8=newJButton("
8"
JButtonLPressButton9=newJButton("
9"
JButtonLPressButton10=newJButton("
10"
JButtonRPressButton1=newJButton("
JButtonRPressButton2=newJButton("
JButtonRPressButton3=newJButton("
JButtonRPressButton4=newJButton("
JButtonRPressButton5=newJButton("
JButtonRPressButton6=newJButton("
JButtonRPressButton7=newJButton("
JButtonRPressButton8=newJButton("
JButtonRPressButton9=newJButton("
JButtonRPressButton10=newJButton("
量数据测试”按钮的Panel
//组件定义
JLabelLL=newJLabel("
当前电梯内部人数:
"
JLabelRL=newJLabel("
JButtonStart=newJButton("
开始电梯调度模拟"
//开始电梯调度模拟按钮
JButtonTest=newJButton("
开始批量数据测试"
//开始批量数据测试按钮
JTextAreaLTextArea=newJTextArea(5,5);
JTextAreaRTextArea=newJTextArea(5,5);
//电梯调度函数Cal(LIsRun,LLiftNowLevel,q,LDirection)
intCal(intx,inty,intz,intw)
return(x*(y-z)*w);
//方法函数
LiftTest(Strings)
super(s);
setSize(1000,600);
setLocation(100,50);
//Dialog
mydialog=newDialog(this,"
批量数据测试"
true);
//菜单项设置
menubar=newJMenuBar();
menu=newJMenu("
菜单"
submenu=newJMenu("
联系作者"
submenuhelp=newJMenu("
帮助"
item1=newJMenuItem("
程序简介"
item2=newJMenuItem("
源代码"
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menu.add(submenu);
menu.add(submenuhelp);
submenu.add(newJMenuItem("
作者简介"
submenuhelp.add(newJMenuItem("
使用帮助"
menubar.add(menu);
setJMenuBar(menubar);
//面板布局管理器设置
WindowsPanel.setLayout(newGridLayout(1,6));
WaitPeopleNumPanel.setLayout(newGridLayout(10,1));
LeftPanel.setLayout(newGridLayout(3,1));
RightPanel.setLayout(newGridLayout(3,1));
LeftLiftPanel.setLayout(null);
//左电梯运动轨道Panel布局管理器设为空
RightLiftPanel.setLayout(null);
//右电梯运动轨道Panel布局管理器设为空
UpDownButtonPanel.setLayout(newGridLayout(10,2));
LButtonPanel.setLayout(newGridLayout(4,3));
RButtonPanel.setLayout(newGridLayout(4,3));
LeftLiftPanel.setBackground(Color.green);
RightLiftPanel.setBackground(Color.green);
UpDownButtonPanel.setBackground(Color.yellow);
UpMainPanel.setLayout(newGridLayout(1,2));
LBoxPanel.setLayout(null);
//左电梯箱Panel布局管理器设为空
RBoxPanel.setLayout(null);
//右电梯箱Panel布局管理器设为空
//电梯箱设置
LBoxPanel.setSize(165,51);
RBoxPanel.setSize(165,51);
LBoxPanel.setLocation(0,459);
RBoxPanel.setLocation(0,459);
LeftLiftPanel.add(LBoxPanel);
RightLiftPanel.add(RBoxPanel);
//电梯门设置
LLiftLDoor.setEnabled(false);
LLiftRDoor.setEnabled(false);
RLiftLDoor.setEnabled(false);
RLiftRDoor.setEnabled(false);
LLiftLDoor.setSize(82,51);
LLiftRDoor.setSize(82,51);
RLiftLDoor.setSize(82,51);
RLiftRDoor.setSize(82,51);
LLiftLDoor.setLocation(0,0);
LLiftRDoor.setLocation(82,0);
RLiftLDoor.setLocation(0,0);
RLiftRDoor.setLocation(82,0);
LBoxPanel.add(LLiftLDoor);
LBoxPanel.add(LLiftRDoor);
RBoxPanel.add(RLiftLDoor);
RBoxPanel.add(RLiftRDoor);
//分别添加两个电梯的10个按钮
LButtonPanel.add(LPressButton1);
//左电梯
LButtonPanel.add(LPressButton2);
LButtonPanel.add(LPressButton3);
LButtonPanel.add(LPressButton4);
LButtonPanel.add(LPressButton5);
LButtonPanel.add(LPressButton6);
LButtonPanel.add(LPressButton7);
LButtonPanel.add(LPressButton8);
LButtonPanel.add(LPressButton9);
LButtonPanel.add(LPressButton10);
RButtonPanel.add(RPressButton1);
//右电梯
RButtonPanel.add(RPressButton2);
RButtonPanel.add(RPressButton3);
RButtonPanel.add(RPressButton4);
RButtonPanel.add(RPressButton5);
RButtonPanel.add(RPressButton6);
RButtonPanel.add(RPressButton7);
RButtonPanel.add(RPressButton8);
RButtonPanel.add(RPressButton9);
RButtonPanel.add(RPressButton10);
//添加上下电梯按钮至UpDownButtonPanel面板
JButtonUnabled1=newJButton();
Unabled1.setEnabled(false);
JButtonUnabled2=newJButton();
Unabled2.setEnabled(false);
UpDownButtonPanel.add(Unabled1);
//开始第一个空着
UpDownButtonPanel.add(Blue10);
UpDownButtonPanel.add(Red9);
UpDownButtonPanel.add(Blue9);
UpDownButtonPanel.add(Red8);
UpDownButtonPanel.add(Blue8);
UpDownButtonPanel.add(Red7);
UpDownButtonPanel.add(Blue7);
UpDownButtonPanel.add(Red6);
UpDownButtonPanel.add(Blue6);
UpDownButtonPanel.add(Red5);
UpDownButtonPanel.add(Blue5);
UpDownButtonPanel.add(Red4);
UpDownButtonPanel.add(Blue4);
UpDownButtonPanel.add(Red3);
UpDownButtonPanel.add(Blue3);
UpDownButtonPanel.add(Red2);
UpDownButtonPanel.add(Blue2);
UpDownButtonPanel.add(Red1);
UpDownButtonPanel.add(Unabled2);
//最后一个空着
//等待人数文本框定义
JTextFieldText10=newJTextField("
10楼等待人数:
8);
Text10.setEditable(false);
JTextFieldText9=newJTextField("
9楼等待人数:
Text9.setEditable(false);
JTextFieldText8=newJTextField("
8楼等待人数:
Text8.setEditable(false);
JTextFieldText7=newJTextField("
7楼等待人数:
Text7.setEditable(false);
JTextFieldText6=newJTextField("
6楼等待人数:
Text6.setEditable(false);
JTextFieldText5=newJTextField("
5楼等待人数:
Text5.setEditable(false);
JTextFieldText4=newJTextField("
4楼等待人数:
Text4.setEditable(false);
JTextFieldText3=newJTextField("
3楼等待人数:
Text3.setEditable(false);
JTextFieldText2=newJTextField("
2楼等待人数:
Text2.setEditable(false);
JTextFieldText1=newJTextField("
1楼等待人数:
Text1.setEditable(false);
//向UpMainPanel中添加组件
UpMainPanel.add(Start);
UpMainPanel.add(Test);
//添加等待人数文本框至WaitPeopleNumPanel面板
WaitPeopleNumPanel.add(Text10);
WaitPeopleNumPanel.add(Text9);
WaitPeopleNumPanel.add(Text8);
WaitPeopleNumPanel.add(Text7);
WaitPeopleNumPanel.add(Text6);
WaitPeopleNumPanel.add(Text5);
WaitPeopleNumPanel.add(Text4);
WaitPeopleNumPanel.add(Text3);
WaitPeopleNumPanel.add(Text2);
WaitPeopleNumPanel.add(Text1);
//分别向LeftPanel(左电梯提示器),RightPanel(右电梯提示器)添加相应组件
LeftPanel.add(LButtonPanel);
LeftPanel.add(LL);
LeftPanel.add(LTextArea);
RightPanel.add(RButtonPanel);
RightPanel.add(RL);
RightPanel.add(RTextArea);
//添加至总面板
WindowsPanel.add(WaitPeopleNumPanel);
WindowsPanel.add(LeftPanel);
WindowsPanel.add(LeftLiftPanel);
WindowsPanel.add(UpDownButtonPanel);
WindowsPanel.add(RightLiftPanel);
WindowsPanel.add(RightPanel);
//添加监听器
Start.addActionListener(this);
Test.addActionListener(this);