📄 test.java
字号:
box1.add(new JLabel("请选择类型")); box2=Box.createVerticalBox(); box2.add(text1); box2.add(Box.createVerticalStrut(8)); box2.add(text2); box2.add(Box.createVerticalStrut(8)); box2.add(choice); box3=Box.createHorizontalBox(); box3.add(box1); box3.add(Box.createHorizontalStrut(10)); box3.add(box2); ss.getContentPane().setLayout(new FlowLayout()); ss.setBounds(320,150,300,180); Dialog_ss_action(); ss.getContentPane().add(box3); //ss.getContentPane().setResizable(false); ss.getContentPane().add(button1); ss.getContentPane().add(button6); ss.setVisible(true); ss.validate(); } if(e.getSource()==item2) //出站 { menuable(false); removetable(true); ss=new JDialog(); ss.setTitle("出站"); ss.setModal(true); text1=new JTextField(16); text1.setText("无"); ss.getContentPane().setLayout(new FlowLayout()); ss.setBounds(320,150,200,120); ss.setResizable(false); Dialog_ss_action(); ss.getContentPane().add(new JLabel("请输入ID")); ss.getContentPane().add(text1); ss.getContentPane().add(button2); ss.getContentPane().add(button6); ss.setVisible(true); ss.validate(); } if(e.getSource()==item3) //退出 {System.exit(0); } if(e.getSource()==item4)//查找汽车信息 { menuable(false); removetable(true); ss=new JDialog(); ss.setTitle("查找车辆"); ss.setModal(true); ss.getContentPane().setLayout(new FlowLayout()); ss.setBounds(320,225,300,120); ss.setResizable(false); Dialog_ss_action(); ss.getContentPane().add(new JLabel("请输入ID")); text1=new JTextField(16); text1.setText("无"); ss.getContentPane().add(text1); ss.getContentPane().add(button3); ss.getContentPane().add(button6); ss.setVisible(true); ss.validate(); } if(e.getSource()==item5) //查询空车位 { removetable(true); String s=""; if(checklink(b,1,stationlen)==stationlen) JOptionPane.showMessageDialog(this,"停车场以满,请进入便车道","提示对话框 ",JOptionPane.WARNING_MESSAGE); else { for(int i=0;i<stationlen;i++) //没有空车位怎提示 {if(b[i]==0) s=s+String.valueOf(i)+" "; if(s.length()>=20) { s=s+".....等"; break; } } JOptionPane.showMessageDialog(this,"空车位有:"+s+"号车位","提示对话框 ",JOptionPane.WARNING_MESSAGE); } } if(e.getSource()==item6) //打印停车场汽车列表包括便车道 { removetable(false); tableprint(queue1,queue2,stack1,stack2); tableprint(queue1,queue2,stack1,stack2); table.setVisible(true); table.repaint(); table.enable(false); } if(e.getSource()==item7) //设置停车场,便车道价格 { menuable(false); removetable(true); ss=new JDialog(); ss.setTitle("设置单价"); ss.setModal(true); text1=new JTextField(10); text1.setText("请输入停车场单价"); text2=new JTextField(10); text2.setText("请输入便车道单价"); box1=Box.createVerticalBox(); box1.add(new JLabel("当前停车场单价"+String.valueOf(price1)+"元/小时")); box1.add(Box.createVerticalStrut(8)); box1.add(new JLabel("当前便车道单价"+String.valueOf(price2)+"元/小时")); box2=Box.createVerticalBox(); box2.add(text1); box2.add(Box.createVerticalStrut(8)); box2.add(text2); box3=Box.createHorizontalBox(); box3.add(box1); box3.add(Box.createHorizontalStrut(10)); box3.add(box2); ss.getContentPane().setLayout(new FlowLayout()); ss.setBounds(320,150,320,150); ss.setResizable(false); Dialog_ss_action(); ss.getContentPane().add(box3); ss.getContentPane().add(button5); ss.getContentPane().add(button6); ss.setVisible(true); ss.validate(); } if(e.getSource()==item8) //设置停车场大小 { removetable(true); menuable(false); ss=new JDialog(); ss.setTitle("设置容量"); ss.setModal(true); ss.getContentPane().setLayout(new FlowLayout()); ss.setBounds(300,200,350,80); Dialog_ss_action(); JLabel labeln=new JLabel("当前停车场大小"+String.valueOf(stationlen)); text2=new JTextField(4); text2.setText("请输入"); ss.getContentPane().add(labeln); ss.getContentPane().add(text2); ss.getContentPane().add(button4); ss.getContentPane().add(button6); int i; c=new int[stationlen]; for(i=0;i<stationlen;i++) {c[i]=b[i]; } ss.setVisible(true); //getContentPane().enable(false); ss.validate(); } if(e.getSource()==item9) { removetable(true); ss=new JDialog(); ss.setTitle("帮助"); ss.setModal(true); ss.getContentPane().setLayout(new FlowLayout()); ss.setBounds(320,225,400,120); ss.setResizable(false); Dialog_ss_action(); ss.getContentPane().add(new JLabel("利用本系统可以实现停车场汽车出站,进站管理.谢谢使用!")); ss.setVisible(true); ss.validate(); } if(e.getSource()==item10) { removetable(true); JOptionPane.showMessageDialog(this,"停车场数量:"+String.valueOf(count1)+" 便车道数量:"+String.valueOf(count2),"提示对话框 ",JOptionPane.WARNING_MESSAGE); } if(e.getSource()==button1) //处理入站 { String s=text1.getText().toString(); char c[]=s.toCharArray(); if(c.length==0) //判断车牌号是否为空并给予提示 JOptionPane.showMessageDialog(this,"车牌号不能为空","警告对话框 ",JOptionPane.WARNING_MESSAGE); else if ( checksame(s)!=null ) //判断是否有重号并给予提示如果没有怎进入下面 JOptionPane.showMessageDialog(this,"车牌号重复","提示",JOptionPane.WARNING_MESSAGE); else if(!checkformat(s)) JOptionPane.showMessageDialog(this,"输入非法字符","提示",JOptionPane.WARNING_MESSAGE); else { int j=choice.getSelectedIndex()+1; int i=checklink(b,j,stationlen) ; if(i==stationlen) //停车场满汽车进入便车道 { int sign=1000; //便车道同意标志 Car temp=new Car(text1.getText().toString(),sign,text2.getText().toString(),j); queue1.enqueue(temp); count2++; JOptionPane.showMessageDialog(this,"没有足够的空车位汽车进入便车位号:1000车号","提示",JOptionPane.WARNING_MESSAGE); } else //进入停车场 { Car temp=new Car(text1.getText().toString(),i,text2.getText().toString(),j); temp.change=new Date(); stack1.push(temp); count1++; JOptionPane.showMessageDialog(this,"成功进入"+i+"车位","提示",JOptionPane.WARNING_MESSAGE); for(int k=i;k<i+j;k++) b[k]=1; } } enableitem2(); ss.setVisible(false); menuable(true); } if(e.getSource()==button2) //处理出站 { removetable(false); Car temp,htemp=new Car(); if(text1.getText().length()==0) //判断是否输入车牌号 JOptionPane.showMessageDialog(this,"车牌号不能为空","警告对话框 ",JOptionPane.WARNING_MESSAGE); else {{ if(flag==0) //先检测是否在停车场 { while(!stack1.empty()) { temp=(Car)stack1.pop(); if(text1.getText().equals(temp.id)) //如果找到怎从停车场中删除 { int t=0 ; count1--; for(t=temp.number;t<temp.number+temp.type;t++) b[t]=0; htemp=temp; flag=1; while(queue1.isempty()) { temp=queue1.dequeue(); if(!tranfer(temp,stack1,stationlen,b)) queue2.enqueue(temp); } while(queue2.isempty()) { temp=queue2.dequeue(); queue1.enqueue(temp); } } else stack2.push(temp); } while(!stack2.empty()) {temp=(Car)stack2.pop();stack1.push(temp); } } if(flag!=1) //如果不在停车场怎检测便车道 { while(queue1.isempty()) { temp=queue1.dequeue(); if(text1.getText().equals(temp.id)) { count2--;flag=2;htemp=temp;break;} else queue2.enqueue(temp); } while(queue2.isempty()) { temp=queue2.dequeue(); queue1.enqueue(temp) ; } } } if(flag==0) //如果在停车场和便车道均没有发现怎输出不存在 JOptionPane.showMessageDialog(this,"该车不在车站","警告对话框 ",JOptionPane.WARNING_MESSAGE); else //找到该汽车输入 相关信息 { int i=1,j=6; flag=0; htemp.dpark(); tableset(i,j,name); table.setVisible(true); a[0][0]=htemp.id; a[0][1]=String.valueOf(htemp.number) ; a[0][2]=htemp.arrive; a[0][3]=htemp.depart; a[0][4]=htemp.design; a[0][5]=String.valueOf(htemp.type); table.repaint(); table.enable(false); int s1=countcost(htemp,price1,price2); JOptionPane.showMessageDialog(this,htemp.id+"出站成功应收费:"+String.valueOf(s1)+"元","警告对话框 ",JOptionPane.WARNING_MESSAGE); } } enableitem2(); menuable(true); ss.setVisible(false); } if(e.getSource()==button3) //处理查找汽车信息 { removetable(false); Car htemp=new Car(); htemp=checksame(text1.getText()); if(htemp==null) JOptionPane.showMessageDialog(this,"很遗憾,该车不在停车场","警告对话框 ",JOptionPane.WARNING_MESSAGE); else { tableset(1,6,name);table.setVisible(true);table.enable(false); a[0][0]=htemp.id;a[0][1]=String.valueOf(htemp.number) ;a[0][2]=htemp.arrive; a[0][3]=htemp.depart;a[0][4]=htemp.design;a[0][5]=String.valueOf(htemp.type); table.repaint(); } menuable(true); ss.setVisible(false); } if(e.getSource()==button4) //处理设定停车场大小 { int temp=stationlen; int htemp=stationlen; if(!checkformat(text2.getText())) JOptionPane.showMessageDialog(this,"输入非法,保持初始大小"+String.valueOf(stationlen),"提示",JOptionPane.WARNING_MESSAGE); else temp=Integer.parseInt(text2.getText()); if(temp<stationlen ) JOptionPane.showMessageDialog(this,"设置小于当前值,保持初始大小"+String.valueOf(stationlen),"提示",JOptionPane.WARNING_MESSAGE); else { stationlen=temp; JOptionPane.showMessageDialog(this,"更新成功,当前大小为:"+String.valueOf(stationlen),"提示",JOptionPane.WARNING_MESSAGE); } b=new int[stationlen]; for(int te=0;te<stationlen;te++) if (te<htemp) b[te]=c[te]; else b[te]=0; menuable(true); ss.setVisible(false); } if(e.getSource()==button5) //处理价格设定 { if(!checkformat(text2.getText())||!checkformat(text1.getText())) JOptionPane.showMessageDialog(this,"输入非法,保持初始大小","提示",JOptionPane.WARNING_MESSAGE); else { int temp1=Integer.parseInt(text1.getText()); int temp2=Integer.parseInt(text2.getText()); if(temp1>20||temp1<=0||temp2<=0||temp2>20||temp1<temp2) JOptionPane.showMessageDialog(this,"设定不合法可能:便车道价格大于停车场,单价大于20或者为零.(保持初始大小)","警告",JOptionPane.WARNING_MESSAGE); else {price1=temp1; price2=temp2; JOptionPane.showMessageDialog(this,"更新成功" ,"提示",JOptionPane.WARNING_MESSAGE); } } menuable(true); ss.setVisible(false); } if(e.getSource()==button6) //取消函数 { menuable(true); ss.setVisible(false); }}}public class Test //主主函数{ public static void main(String args[]) { Win win=new Win("停车场" ); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -