⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flightsystem.java

📁 java的一个gui工程示例
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
		private JPanel Window = new JPanel(new GridLayout(0, 1));
		/* Window cliname in Client_Window */
		private JLabel cliname;
		/* Window cliid in Client_Window */
		private JLabel cliid;
		/* Window cliadd in Client_Window */
		private JLabel cliadd;
		/* Window pnlradioButton in Client_Window */
		private JPanel pnlradioButton;
		/* Window client_exit in Client_Window */
		private JButton client_exit;
		/* Window client_buy in Client_Window */
		private JButton client_buy;
		/* Window client_reserve in Client_Window */
		private JButton client_reserve;
		/**
		 * the constructor of Client_Window
		 *
		 */
		Client_Window() {
			
			P_ticket = new JRadioButton("Paper ticket",true);
			E_ticket = new JRadioButton("Electronic ticket");
			tickets = new ButtonGroup();
			client_reserve = new JButton("Reserve");
			client_exit = new JButton("Exit");
			client_buy = new JButton("Buy");
			JPanel account = new JPanel(new GridLayout(0,2));
			JPanel now = new JPanel(new GridLayout(0,2));
			JPanel VIP_btn = new JPanel(new FlowLayout());
			
			JPanel cli_name = new JPanel(new GridLayout(0,2));
			JPanel cli_id = new JPanel(new GridLayout(0,2));
			JPanel cli_add = new JPanel(new GridLayout(0,2));
			pnlradioButton = new JPanel(new FlowLayout());
			
			
			cliname = new JLabel("Your Name",JLabel.CENTER);
			cliid = new JLabel("Your ID",JLabel.CENTER);
			cliadd = new JLabel("Your Address:",JLabel.CENTER);
			cname = new JTextField();
			cname.setEditable(false);
			cid = new JTextField();
			cid.setEditable(false);
			cadd = new JTextField();
			cadd.setEditable(false);
			client_exit.addActionListener(new exitListener());
			client_buy.addActionListener(new Client_buyListener());
			client_reserve.addActionListener(new ReserveListener());
			cli_name.add(cliname);
			cli_name.add(cname);
			cli_id.add(cliid);
			cli_id.add(cid);
			cli_add.add(cliadd);
			cli_add.add(cadd);
			pnlradioButton.add(P_ticket);
			pnlradioButton.add(E_ticket);
			
			VIP_btn.add(client_buy);
			VIP_btn.add(client_reserve);
			VIP_btn.add(client_exit);
			Window.add(cli_name);
			Window.add(cli_id);
			Window.add(cli_add);
			
			Window.add(account);
			Window.add(now);
			Window.add(pnlradioButton);
			Window.add(VIP_btn);
			Window.setSize(350,300);
			
			flag = -1;
			/**
			 * the radiobuttonlistener implements ActionListener
			 * @author name
			 *
			 */
			class radiobuttonlistener implements ActionListener{
				/**
				 * @param the radiobuttonlistener of exitListener
				 */
				public void actionPerformed(ActionEvent a){
					flag *= -1;
					
				}
			}
			
			P_ticket.addActionListener(new radiobuttonlistener());
			E_ticket.addActionListener(new radiobuttonlistener());
			//client_buy.addActionListener(new cbuyListener());
			//client_reserve.addActionListener(new creserveListener());
		}
		/**
		 * the meath of getPanel
		 * @return Window
		 */
		public JPanel getPanel() {
			return Window;
		}
	}
	/**
	 * the VIP_Refuel extends JPanel
	 * @author name
	 *
	 */
	public class VIP_Refuel extends JPanel {
		/* Window Refuel in VIP_Refuel */
		private JPanel Refuel = new JPanel(new GridLayout(2, 2));
		/* Window Amount in VIP_Refuel */
		private JLabel Amount;
		/* Window refuel_OK in VIP_Refuel */
		private JButton refuel_OK;
		/* Window exitRefuel in VIP_Refuel */
		private JButton exitRefuel;
		/**
		 * the constructor of VIP_Refuel
		 *
		 */
		VIP_Refuel() {
			JPanel Sum = new JPanel(new GridLayout(1, 2));
			JPanel amount_btn = new JPanel(new FlowLayout());
			amount = new JTextField();
			Amount = new JLabel("chargement number:");	
			Amount.setHorizontalAlignment(JLabel.CENTER);
			refuel_OK = new JButton("OK");
			exitRefuel = new JButton("Cancel");
			Sum.add(Amount,BorderLayout.WEST);
			Sum.add(amount,BorderLayout.EAST);
			amount_btn.add(refuel_OK);
			amount_btn.add(exitRefuel);
			Refuel.add(Sum);
			Refuel.add(amount_btn);
			refuel_OK.addActionListener(new refuel_OKListener());
			exitRefuel.addActionListener(new exitRefuelListener());
		}
		/**
		 * the meath of getPanel
		 * @return Refuel
		 */
		public JPanel getPanel() {
			return Refuel;
		}
	}
	/**
	 * the VIP_Login extends JPanel
	 * @author name
	 *
	 */
	public class VIP_Login extends JPanel {
		/* Window Login in VIP_Login */
		private JPanel Login;
		/* Window userid in VIP_Login */
		private JLabel userid;
		/* Window userpwd in VIP_Login */
		private JLabel userpwd;
		/* Window login_OK in VIP_Login */
		private JButton login_OK;
		/* Window login_Cancel in VIP_Login */
		private JButton login_Cancel;
		
		/**
		 * the constructor of VIP_Refuel
		 *
		 */
		VIP_Login(){
			JPanel id = new JPanel(new GridLayout(1, 2));
			JPanel pwd = new JPanel(new GridLayout(1, 2));
			JPanel Login_Btn = new JPanel(new GridLayout(1, 2));
			Login = new JPanel(new GridLayout(3, 1));
			ID = new JTextField();
			password = new JPasswordField();
			userid = new JLabel("UserName:");
			userid.setHorizontalAlignment(JLabel.CENTER);
			userpwd = new JLabel("Password:");
			userpwd.setHorizontalAlignment(JLabel.CENTER);
			login_OK = new JButton("OK");
			login_Cancel = new JButton("Cancel");
			id.add(userid, BorderLayout.WEST);
			id.add(ID, BorderLayout.CENTER);
			pwd.add(userpwd, BorderLayout.WEST);
			pwd.add(password, BorderLayout.CENTER);
			Login_Btn.add(login_OK, BorderLayout.WEST);
			Login_Btn.add(login_Cancel, BorderLayout.CENTER);
			Login.add(id);
			Login.add(pwd);
			Login.add(Login_Btn);
			login_OK.addActionListener(new login_OKListener());
			login_Cancel.addActionListener(new login_CancelListener());
		}
		/**
		 * the meath of getPanel
		 * @return Login
		 */
		public JPanel getPanel() {
			return Login;
		}
	}
	/**
	 * the GetReservedListener implements ActionListener
	 * @author name
	 *
	 */
	class GetReservedListener implements ActionListener{
		/**
		 * @param the GetReservedListener of exitListener
		 */
		public void actionPerformed(ActionEvent ae){
			  login_reserved = new JFrame("reserved login!");
			JPanel Login;
			JLabel userid;
			JLabel userpwd;
			JButton login_OK;
			JButton login_Cancel;
			
			
			
				JPanel id = new JPanel(new GridLayout(1, 2));
				JPanel pwd = new JPanel(new GridLayout(1, 2));
				JPanel Login_Btn = new JPanel(new GridLayout(1, 2));
				Login = new JPanel(new GridLayout(3, 1));
				ID = new JTextField();
				password = new JPasswordField();
				userid = new JLabel("UserName:");
				userid.setHorizontalAlignment(JLabel.CENTER);
				userpwd = new JLabel("Password:");
				userpwd.setHorizontalAlignment(JLabel.CENTER);
				login_OK = new JButton("OK");
				login_Cancel = new JButton("Cancel");
				id.add(userid, BorderLayout.WEST);
				id.add(ID, BorderLayout.CENTER);
				pwd.add(userpwd, BorderLayout.WEST);
				pwd.add(password, BorderLayout.CENTER);
				Login_Btn.add(login_OK, BorderLayout.WEST);
				Login_Btn.add(login_Cancel, BorderLayout.CENTER);
				Login.add(id);
				Login.add(pwd);
				Login.add(Login_Btn);
				login_OK.addActionListener(new Reserved_OKListener());
				login_Cancel.addActionListener(new login_CancelListener());
				login_reserved.setContentPane(Login);
				login_reserved.setSize(300, 140);
				login_reserved.setLocation(400,260);
				login_reserved.setVisible(true);
			
		}
	}
	/**
	 * the Reserved_OKListener implements ActionListener
	 * @author name
	 *
	 */
	class Reserved_OKListener implements ActionListener{
		/**
		 * @param the Reserved_OKListener of exitListener
		 */
		public void actionPerformed(ActionEvent ae){
			
			for(Iterator iterator = clientdb.getIterator(); iterator.hasNext();){
				Object temp = iterator.next();
				if(temp instanceof VIPClient) {
				client = (VIPClient)temp;
					if(ID.getText().equals(Vipclient.getID()) && password.getText().equals(Vipclient.getPWD())) {
						
						if (!Vipclient.getReserved()) {
							JOptionPane.showMessageDialog(null, "you hasn't reserved a ticket!");
							return;
						}
						logout.setEnabled(true);
						login_reserved.dispose();
						frame_reserved = new JFrame();
						reserved_window = new Reserved_Window();
						frame_reserved.setSize(440, 500);
						frame_reserved.setTitle("Reserve!");
						frame_reserved.setLocation(460,320);
						frame_reserved.setContentPane(reserved_window.getPanel());
						frame_reserved.setVisible(true);					
						getReserved.setEnabled(false);
						//frame_reserved.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
						return;
						
					} 					
				} else {
					client = (Client)temp;
					if(ID.getText().equals(client.getID()) && password.getText().equals(client.getPWD())) {
						if (!client.getReserved()) {
							JOptionPane.showMessageDialog(null, "you hasn't reserved a ticket!");
							return;
						}
						logout.setEnabled(true);
						if (login_reserved!= null) {
							login_reserved.dispose();
						}
						frame_reserved = new JFrame();
						reserved_window = new Reserved_Window();
						frame_reserved.setSize(300, 300);
						frame_reserved.setTitle("Reserve!");
						frame_reserved.setLocation(460, 320);
						frame_reserved.setContentPane(reserved_window.getPanel());
						
						frame_reserved.setVisible(true);
						getReserved.setEnabled(false);
						return;
					}				
				}
			}
			JOptionPane.showMessageDialog(null, "Sorry,invalid input!Please try again!");


		}
	}
	/**
	 * the Reserved_Window extends JPanel 
	 * @author name
	 *
	 */
	public class Reserved_Window extends JPanel {
		/* Window info in Reserved_Window */
		private JLabel info;
		/* Window reserve in Reserved_Window */
		private JPanel reserve;
		/* Window tarea in Reserved_Window */
		private JPanel tarea;
		/* Window btnpnl in Reserved_Window */
		private JPanel btnpnl;
		/* Window showticket in Reserved_Window */
		private JTextArea showticket;
		/* Window reserve_BUY in Reserved_Window */
		private JButton reserve_BUY;
		/* Window reserve_Cancel in Reserved_Window */
		private JButton reserve_Cancel;
		
		/**
		 * the constructor of Reserved_Window
		 *
		 */
		Reserved_Window(){
			reserve = new JPanel(new BorderLayout());
			
			btnpnl = new JPanel(new FlowLayout());
			tarea = new JPanel(new BorderLayout());
			info= new JLabel("Do you like buy it?");
			
			info.setHorizontalTextPosition(JLabel.CENTER);
			showticket = new JTextArea();
			showticket.setSize(200, 200);
			
			
			reserve_BUY = new JButton("Buy");
			reserve_Cancel = new JButton("cancel");
			
			
			reserve_BUY.addActionListener(new reserve_BUYListener());
			reserve_Cancel.addActionListener(new login_CancelListener());
			String ticketinfo = "";
			
			Tickit t1 = client.getTickit();
			if (t1==null) {
			
				return;
			}
			else{
				ticketinfo = t1.getTickitCode()+"\n"+t1.getClassType()+"\n"+t1.getPrice();
				showticket.setText(ticketinfo);
			}
			showticket.setText(ticketinfo);
			tarea.add(showticket,BorderLayout.CENTER);
			btnpnl.add(reserve_BUY);
			btnpnl.add(reserve_Cancel);
			reserve.add(info,BorderLayout.NORTH);
			reserve.add(tarea,BorderLayout.CENTER);
			reserve.add(btnpnl,BorderLayout.SOUTH);
		
		}
		/**
		 * the meath of getPanel
		 * @return reserve
		 */
		public JPanel getPanel() {
			return reserve;
		}
	}
	/**
	 * the Reserved_OKListener implements ActionListener
	 * @author name
	 *
	 */
	class reserve_BUYListener implements ActionListener {
		/**
		 * @param the reserve_BUYListener of exitListener
		 */
		public void actionPerformed(ActionEvent event) {
			
			
			if (JOptionPane.showConfirmDialog(null, "confirm???", 
					"Information", JOptionPane.YES_NO_OPTION)== JOptionPane.YES_OPTION) {
					
				ticketsTextArea.setText("FlightCode: " + flightItem.getFlightCode() + "\n"
						+ "Date: " + flightItem.getDate() + "\n"
						+ "Start: " + flightItem.getLeftPlace() + "\n"
						+ "Destination: " + flightItem.getArrPlace() + "\n"
						+ "CabinType: " + classtype + "\n"
						+ "Price: " + flightItem.getCabin().getPriceOfFC() + "\n"
						+ "Length: " + flightItem.getLength() + "\n" 
						+ "TicketCode: " + ticketcode + "\n"
						+ "Condition: VIP_Seat Sell Out!");
				
				double cabinprice;
				if (classtype.equals("First Class")) {
					cabinprice= flightItem.getCabin().getPriceOfFC();
				}else if (classtype.equals("Business Class")) {
					
					cabinprice= flightItem.getCabin().getPriceOfBC();
				}
				else{
					cabinprice= flightItem.getCabin().getPriceOfEC();
				}
				client.setTicke(new Tickit(ticketcode,classtype,cabinprice,flightItem));
				client.setFlightItem(flightItem);
				client.setReserved(false);
				if (client instanceof VIPClient) {
					VIPClient vip =(VIPClient)client;
					vip.setLeftLength(vip.getLeftLength()-flightItem.getLength());
				}
				
				if (flag == -1) {
					JOptionPane.showMessageDialog(null, "the ticket will be sent to you within 3 days!", "warning",JOptionPane.OK_OPTION );
				}
				else{
					JOptionPane.showMessageDialog(null, "your ticket code is "+ticketcode+"!", "Keep It!!",JOptionPane.OK_OPTION );
				}
				try {
					
					statusTextArea.setText("You have bought this ticket.\nThank you for your choosing our company!");
					
					frame_reserved.dispose();
					
				} catch (NumberFormatException nfe) {
					// TODO: handle exception
					JOptionPane.showMessageDialog(null, "Sorry, your account is not enough!",
							"Information", JOptionPane.CANCEL_OPTION);
				}
				
			
			
			}
			
			
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -