📄 aircraftgui2.java
字号:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
import javax.swing.*;
public class AircraftGUI2 extends JFrame{
private static final int WIDTH =500;
private static final int HEIGHT=500;
private JFrame parFrame;
private String aircraftInfo;
private EconomyClass myEconomyClass;
private FirstClass myFirstClass;
private EconomyClass myEconomyClass1;
String end="\n";
JComboBox combox1;
JComboBox combox2;
public AircraftGUI2(JFrame frame,EconomyClass myEconomyClass,EconomyClass myEconomyClass1,FirstClass myFirstClass)
{
this.myEconomyClass=myEconomyClass;
this.myEconomyClass1=myEconomyClass1;
this.myFirstClass=myFirstClass;
parFrame=frame;
Container con=getContentPane();
Toolkit kit=Toolkit.getDefaultToolkit();
setSize(WIDTH,HEIGHT);
setTitle("Booking System");
Dimension screensize=kit.getScreenSize();
int width=screensize.width;
int height=screensize.height;
int x=(width-WIDTH)/2;
int y=(height-HEIGHT)/2;
setLocation(x,y);
setResizable(true);
con.add(new AircraftPanel(),BorderLayout.NORTH);
con.add(new ButtonPanel(this),BorderLayout.SOUTH);
}
public class AircraftPanel extends JPanel
{
public AircraftPanel()
{
GridBagLayout layout = new GridBagLayout();
setLayout(layout);
JLabel label1=new JLabel("Aircraft type: ");
combox1=new JComboBox();
combox1.addItem("B747");
combox1.addItem("A340");
JLabel label2=new JLabel("first class: ");
JButton button1=new JButton("Fseats");
JTextArea textarea1=new JTextArea(10,20);
textarea1.setText("Aircraft type: "+combox1.getSelectedItem()+"\n");
textarea1.append("first class seats left: "+"\n");
textarea1.setLineWrap(true);
JLabel label3=new JLabel("economy class: ");
combox2=new JComboBox();
combox2.addItem("eco1");
combox2.addItem("eco2");
combox2.addItem("first class");
JButton button2=new JButton("Eseats1");
JButton button3=new JButton("Eseats2");
JTextArea textarea2=new JTextArea(10,20);
textarea2.append("economy class 1 seats left: "+"\n");
textarea2.append("economy class 2 seats left: "+"\n");
textarea1.setLineWrap(true);
GridBagConstraints constraints =new GridBagConstraints();
constraints.fill=GridBagConstraints.CENTER;
constraints.anchor=GridBagConstraints.WEST;
constraints.weightx=5;
constraints.weighty=5;
add(label1,constraints,0,0,1,1);
add(label2,constraints,0,1,1,1);
constraints.fill=GridBagConstraints.CENTER;
constraints.weightx=100;
add(combox1,constraints,1,0,1,1);
add(button1,constraints,1,1,1,1);
constraints.fill=GridBagConstraints.HORIZONTAL;
add(textarea1,constraints,0,2,2,1);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.EAST;
constraints.weightx=5;
constraints.weighty=5;
add(label3,constraints,0,3,1,1);
add(button2,constraints,0,4,1,1);
constraints.fill=GridBagConstraints.NONE;
constraints.weightx=5;
constraints.weighty=5;
add(combox2,constraints,1,3,1,1);
add(button3,constraints,1,4,1,1);
constraints.fill=GridBagConstraints.BOTH;
add(textarea2,constraints,0,5,2,3);
button1.addActionListener(new MakeNewSeats2Action());
button2.addActionListener(new MakeNewSeatsAction());
button3.addActionListener(new MakeNewSeats1Action());
}
public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)
{
constraints.gridx=x;
constraints.gridy=y;
constraints.gridwidth=w;
constraints.gridheight=h;
add(c,constraints);
}
public class MakeNewSeatsAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
SeatsGUI subFrame=new SeatsGUI(myEconomyClass);//transfer first frame to the second frame
subFrame.setVisible(true);
parFrame.setVisible(false);
}
}
public class MakeNewSeats1Action implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
SeatsGUI2 subFrame=new SeatsGUI2(myEconomyClass1);//transfer first frame to the second frame
subFrame.setVisible(true);
parFrame.setVisible(false);
}
}
public class MakeNewSeats2Action implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
SeatsGUI1 subFrame=new SeatsGUI1(myFirstClass);//transfer first frame to the second frame
subFrame.setVisible(true);
parFrame.setVisible(false);
}
}
}
public class ButtonPanel extends JPanel
{
public ButtonPanel(JFrame subFrame)
{
setLayout(new BoxLayout(this,BoxLayout.X_AXIS));
JButton okButton=new JButton("save");
JButton cancelButton=new JButton("cancel");
JButton previousButton=new JButton("previous");
Box hbox=Box.createHorizontalBox();
hbox.add(Box.createHorizontalStrut(40));
hbox.add(okButton);
hbox.add(Box.createHorizontalGlue());
hbox.add(previousButton);
hbox.add(Box.createHorizontalGlue());
hbox.add(cancelButton);
hbox.add(Box.createHorizontalStrut(40));
add(hbox);
okButton.addActionListener(new SaveThePassengerInfor());
cancelButton.addActionListener(new PreviousBookingSystemAction(subFrame));
previousButton.addActionListener(new MakeNewFlightAction());
}
public class SaveThePassengerInfor implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
aircraftInfo="aircraft information:"+end+" aircraft type:"+combox1.getSelectedItem()+end;
aircraftInfo+="which class: "+combox2.getSelectedItem();
System.out.println(aircraftInfo);
try{
FileWriter fw=new FileWriter("Passenger.txt");
fw.write(aircraftInfo+"\n");
fw.close();
}catch(IOException e){}
}
}
public class MakeNewFlightAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
FlightGUI subFrame=new FlightGUI(parFrame,myEconomyClass,myEconomyClass1,myFirstClass);//transfer first frame to the second frame
subFrame.setVisible(true);
parFrame.setVisible(false);
}
}
public class PreviousBookingSystemAction implements ActionListener
{
private JFrame subFrame;
public PreviousBookingSystemAction(JFrame subFrame)
{
this.subFrame=subFrame;
}
public void actionPerformed(ActionEvent e)
{
subFrame.setVisible(false);
parFrame.setVisible(true);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -