Java 让我的GUI显示吗?

Java 让我的GUI显示吗?,java,swing,user-interface,Java,Swing,User Interface,我需要插入什么才能显示整个GUI? 我相信我已经在AirlineReservation.java类中正确格式化了所有内容。我只知道如何真正开始并打印我为测试它而创建的GUI package airline; import javax.swing.JOptionPane; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import javax.

我需要插入什么才能显示整个GUI?
我相信我已经在AirlineReservation.java类中正确格式化了所有内容。我只知道如何真正开始并打印我为测试它而创建的GUI

 package airline;

    import javax.swing.JOptionPane;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.FlowLayout;

    import javax.swing.BorderFactory;
    import javax.swing.ButtonGroup;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JCheckBoxMenuItem;
    import javax.swing.JRadioButtonMenuItem;
    import javax.swing.JPopupMenu;
    import javax.swing.JTabbedPane;
    import javax.swing.JPanel;
    import javax.swing.JSlider;
    import javax.swing.SwingConstants;

    import javax.swing.event.ChangeListener;
    import javax.swing.event.ChangeEvent;
    import userInterface.AirlineReservation;



    //Begin AirportMain class
    public class AirportMain {

    //Main Method
    public static void main(String[] args) {

        //New instance of Airport
     Airport airport = new Airport(
     "Orlando International Airport", "Orlando", "Florida","MCO");  


        //Create an instance of Airline and Flight for Delta  
        Flight flight = new Flight(1);
        Airline delta = new Airline();
        delta.setAirlineName("Delta Airlines");
        delta.setAirlineHubLocation("ATL");
        delta.setFlight(flight);
        flight.setFlightNumber(98);
        flight.setDestinationLocation("Buffalo, NY");

        //Create an instance of Airline and Flight for United
        Flight flights = new Flight(2);
        Airline united = new Airline();
        united.setAirlineName("United Airlines");
        united.setAirlineHubLocation("MCO");
        united.setFlight(flights);
        flights.setFlightNumber(234);
        flights.setDestinationLocation("Los Angeles, CA");

        //Displays info from Airport/Delta/United in a dialog box
        //JOptionPane.showMessageDialog(null, airport.toString() + 
        delta.toString() + "\n" +  united.toString());




    }
       AirlineReservation airlineReservation = new AirlineReservation();


     }
下面是我的GUI的代码

package userInterface;

    import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import javax.swing.*;

public class AirlineReservation {

    private JFrame frame;
    private JLabel label;
    private JMenu fileMenu;
    private JMenu formatMenu;
    private JMenu reserveMenu;
    private JMenuBar menuBar;
    private JMenuItem menuItem1;
    private JMenuItem menuItem2;
    private JMenuItem menuItem3;
    private JMenuItem menuItem4;
    private JMenuItem menuItem5;
    private JRadioButtonMenuItem radioMenuItem1;
    private JRadioButtonMenuItem radioMenuItem2;
    private JCheckBoxMenuItem checkMenuItem1;
    private JCheckBoxMenuItem checkMenuItem2;
    private JSlider slider;
    private JTabbedPane tabPane;


   public AirlineReservation()
    {
        initComponents();
    }

    public void initComponents()
    {
        frame = new JFrame("Airline Reservation");

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setSize(300, 300);

        frame.setVisible(true);

        // Now lets create a JMenuBar to add to our JFrame
        // Initializing the JMenuBar
        menuBar = new JMenuBar();
        frame.setJMenuBar(menuBar);


        // Initializing menu items
        menuItem1 = new JMenuItem("Add Airport");
        menuItem2 = new JMenuItem("Add Airline");
        menuItem3 = new JMenuItem("Add Flight");

        // Initializing the JMenu and adding JMenuItems
        fileMenu = new JMenu("File");
        fileMenu.setMnemonic('F');
        fileMenu.add(menuItem1);
        fileMenu.add(menuItem2);
        fileMenu.add(menuItem3);


        // Initializing menu items
        menuItem4 = new JMenuItem("Search Flights");
        menuItem5 = new JMenuItem("Make Reservation");

        // Initializing the JMenu and adding JMenuItems
        reserveMenu = new JMenu("Reservation");
        reserveMenu.setMnemonic('R');
        reserveMenu.add(menuItem4);
        reserveMenu.add(menuItem5);



        // Initializing the menu items
        radioMenuItem1 = new JRadioButtonMenuItem("Times New Roman");
        radioMenuItem2 = new JRadioButtonMenuItem("Comic Sans");
        ButtonGroup group = new ButtonGroup();
        group.add(radioMenuItem1);
        group.add(radioMenuItem2);

        checkMenuItem1 = new JCheckBoxMenuItem("Bold");
        checkMenuItem2 = new JCheckBoxMenuItem("Italics");

        // Initializing the JMenu and adding JMenuItems
        formatMenu = new JMenu("Format");
        formatMenu.setMnemonic('M');
        formatMenu.add(radioMenuItem1);
        formatMenu.add(radioMenuItem2);
        formatMenu.addSeparator();
        formatMenu.add(checkMenuItem1);
        formatMenu.add(checkMenuItem2);



        // Add the menus to the JMenuBar
        menuBar.add(fileMenu);
        menuBar.add(reserveMenu);
        menuBar.add(formatMenu);



        // Add the menubar to the JFrame
        frame.setJMenuBar(menuBar);

        slider = new JSlider(SwingConstants.HORIZONTAL, 0, 200, 10);
        // sets the value for each major tick spacing
        slider.setMajorTickSpacing(50);
        // makes the tick labels with values visible
        slider.setPaintLabels(true);
        // makes the individual tick marks visible
        //        slider.setPaintTicks(true);
        // This is an event handler
        slider.addChangeListener(
                // This is an anonymous inner class
                new ChangeListener()
                {
                    // This handles the updated value of the slider
                    public void stateChanged(ChangeEvent e)
                    {
                        // sets the text of the label to the actual value on the slide
                        // explicit type casting because setText expects a String
                        // but getValue returns and int
                        label.setText(String.valueOf(slider.getValue()));
                    }
                });


        // initializing the JTabbedPane
        JLabel label1 = new JLabel("panel 1");
        JPanel panel1 = new JPanel();

        // adding a label to display the value of the slider
        label = new JLabel();
        label.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        panel1.add(label);
        panel1.add(slider);
        panel1.add(label1);

        JLabel label2 = new JLabel("panel 2");
        JPanel panel2 = new JPanel();
        panel2.add(label2);

        tabPane = new JTabbedPane();
        tabPane.addTab("Tab One", null, panel1, "First Panel");
        tabPane.addTab("Tab Two", null, panel2, "Second Panel");
        frame.add(tabPane);

    }
 public class FileMenuAction implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getActionCommand() == "Add Airport") {
                System.out.println("Add Airport Clicked");
            } else if (e.getActionCommand() == "Add Airline") {
                System.out.println("Add Airline Clicked");

            } else if (e.getActionCommand() == "Add Flight") {
                System.out.println("Add Flight Clicked");
            }
        }
    }

    public class BookMenuAction implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            if (e.getActionCommand() == "sjsjsjs") {
                System.out.println("fjfhfhf");
            }
        }
    }

    public class AboutMenuAction implements ActionListener {

        public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand() == "About Info")
        { System.out.println("About Application clicked");}}
    }
}

从GUI构造函数中删除此行:

frame.setVisible(true);
frame.pack();
在GUI构造函数的末尾添加此行:

frame.setVisible(true);
frame.pack();
将此方法添加到GUI类:

public void showFrame() {
    frame.setVisible(true);
}
从主类中删除此行:

AirlineReservation airlineReservation = new AirlineReservation();
并将以下内容添加到主方法中:

SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
        AirlineReservation airlineReservation = new AirlineReservation();
        airlineReservation.showFrame();
    }
});

这基本上是本手册所涵盖的内容。读一下。你不应该在每一小步之后都不测试就编写如此庞大的代码,特别是如果你是新手的话。上面的这些行应该是应用程序的第一行。

从GUI构造函数中删除这一行:

frame.setVisible(true);
frame.pack();
在GUI构造函数的末尾添加此行:

frame.setVisible(true);
frame.pack();
将此方法添加到GUI类:

public void showFrame() {
    frame.setVisible(true);
}
从主类中删除此行:

AirlineReservation airlineReservation = new AirlineReservation();
并将以下内容添加到主方法中:

SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
        AirlineReservation airlineReservation = new AirlineReservation();
        airlineReservation.showFrame();
    }
});

这基本上是本手册所涵盖的内容。读一下。你不应该在每一小步之后都不测试就编写如此庞大的代码,特别是如果你是新手的话。上面的这些行应该是应用程序的第一行。

从GUI构造函数中删除这一行:

frame.setVisible(true);
frame.pack();
在GUI构造函数的末尾添加此行:

frame.setVisible(true);
frame.pack();
将此方法添加到GUI类:

public void showFrame() {
    frame.setVisible(true);
}
从主类中删除此行:

AirlineReservation airlineReservation = new AirlineReservation();
并将以下内容添加到主方法中:

SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
        AirlineReservation airlineReservation = new AirlineReservation();
        airlineReservation.showFrame();
    }
});

这基本上是本手册所涵盖的内容。读一下。你不应该在每一小步之后都不测试就编写如此庞大的代码,特别是如果你是新手的话。上面的这些行应该是应用程序的第一行。

从GUI构造函数中删除这一行:

frame.setVisible(true);
frame.pack();
在GUI构造函数的末尾添加此行:

frame.setVisible(true);
frame.pack();
将此方法添加到GUI类:

public void showFrame() {
    frame.setVisible(true);
}
从主类中删除此行:

AirlineReservation airlineReservation = new AirlineReservation();
并将以下内容添加到主方法中:

SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
        AirlineReservation airlineReservation = new AirlineReservation();
        airlineReservation.showFrame();
    }
});


这基本上是本手册所涵盖的内容。读一下。你不应该在每一小步之后都不测试就编写如此庞大的代码,特别是如果你是新手的话。上面的这些行应该是应用程序的第一行。

在将所有组件添加到GUI之后,框架应该是可见的。如果看不到,您如何测试它?在将所有组件添加到GUI之后,框架应该是可见的。如果看不到,您如何测试它?框架应在所有组件添加到GUI后使其可见。如果看不到,您如何测试它?在所有组件添加到GUI后,框架应使其可见。如果看不到,您如何测试它?感谢您的全面回复!给我的指示/我所学的东西令人沮丧。我一直在黑暗中建造。我已经交换了所有内容,但是您建议的最后一段代码给了我一个“找不到符号”错误。我把最后一段代码搞乱了@奥桑杜为我修好了。谢谢我再重复一遍:尤其是当你是一个新手时,你应该一步一步地实现,步骤尽可能短,并在每个步骤后进行测试。我看到了,在你的链接中有很多文档要看,谢谢!谢谢你@osandum的帮助。但我仍然收到一个“')”错误?修复了缺少的perenthesis。如果它有助于解决问题,请给出答案。感谢您的全面回复!给我的指示/我所学的东西令人沮丧。我一直在黑暗中建造。我已经交换了所有内容,但是您建议的最后一段代码给了我一个“找不到符号”错误。我把最后一段代码搞乱了@奥桑杜为我修好了。谢谢我再重复一遍:尤其是当你是一个新手时,你应该一步一步地实现,步骤尽可能短,并在每个步骤后进行测试。我看到了,在你的链接中有很多文档要看,谢谢!谢谢你@osandum的帮助。但我仍然收到一个“')”错误?修复了缺少的perenthesis。如果它有助于解决问题,请给出答案。感谢您的全面回复!给我的指示/我所学的东西令人沮丧。我一直在黑暗中建造。我已经交换了所有内容,但是您建议的最后一段代码给了我一个“找不到符号”错误。我把最后一段代码搞乱了@奥桑杜为我修好了。谢谢我再重复一遍:尤其是当你是一个新手时,你应该一步一步地实现,步骤尽可能短,并在每个步骤后进行测试。我看到了,在你的链接中有很多文档要看,谢谢!谢谢你@osandum的帮助。但我仍然收到一个“')”错误?修复了缺少的perenthesis。如果它有助于解决问题,请给出答案。感谢您的全面回复!给我的指示/我所学的东西令人沮丧。我一直在黑暗中建造。我已经交换了所有内容,但是您建议的最后一段代码给了我一个“找不到符号”错误。我把最后一段代码搞乱了@奥桑杜为我修好了。谢谢我再重复一遍:尤其是当你是一个新手时,你应该一步一步地实现,步骤尽可能短,并在每个步骤后进行测试。我看到了,在你的链接中有很多文档要看,谢谢!谢谢你@osandum的帮助。但我仍然收到一个“')”错误?修复了缺少的perenthesis。如果它有助于解决问题,请给出答案。