You need to sign in to do that
Don't have an account?

I need help displaying a JFrame for my Java Project
I am trying to create a JFrame for my java project but cannot get the JFrame to display. I am getting a successful build but no JFrame appears. I have only been learning java for a couple of weeks and have written all the code while in class so I don't have a clue whats wrong or what a lot of the code does. The idea is to display a JFrame with some textfields and Combo boxes which will query a database and return a value. Its a program for a restaurant where the waiter will enter a starter,main and desert and the program gets the price of each dish from the database and returns the bill. Again I am a newbie to java and I don't know if I should have seperate classes that this program is calling or what is wrong so any help or pointers are much appreciated.
My code is below.
My code is below.
package restaurantbillcalculator; // Exercise 26.12: RestaurantBillCalculator.java // Calculates a table's bill. import java.awt.*; import java.awt.event.*; import java.sql.*; import java.text.*; import java.util.*; import javax.swing.*; public class RestaurantBillCalculator extends JFrame { // JLabel for Restaurant private JLabel restaurantJLabel; // JPanel to display waiter information private JPanel waiterJPanel; // JLabel and JTextField for table number private JLabel tableNumberJLabel; private JTextField tableNumberJTextField; // JLabel and JTextField for waiter name private JLabel waiterNameJLabel; private JTextField waiterNameJTextField; // JPanel to display menu items private JPanel menuItemsJPanel; // JLabel and JComboBox for beverage private JLabel beverageJLabel; private JComboBox beverageJComboBox; // JLabel and JComboBox for appetizer private JLabel appetizerJLabel; private JComboBox appetizerJComboBox; // JLabel and JComboBox for main course private JLabel mainCourseJLabel; private JComboBox mainCourseJComboBox; // JLabel and JComboBox for dessert private JLabel dessertJLabel; private JComboBox dessertJComboBox; // JButton for calculate bill private JButton calculateBillJButton; // JLabel and JTextField for subtotal private JLabel subtotalJLabel; private JTextField subtotalJTextField; // JLabel and JTextField for tax private JLabel taxJLabel; private JTextField taxJTextField; // JLabel and JTextField for total private JLabel totalJLabel; private JTextField totalJTextField; // constant for tax rate private final static double TAX_RATE = 0.05; // declare instance variables for database processing private Connection myConnection; private Statement myStatement; private ResultSet myResultSet; // declare instance variable ArrayList to hold bill items private ArrayList billItems = new ArrayList(); // constructor public RestaurantBillCalculator( String databaseDriver, String databaseURL ) { createUserInterface(); // set up GUI } // end constructor // create and position GUI components; register event handlers private void createUserInterface() { // get content pane for attaching GUI components Container contentPane = getContentPane(); // enable explicit positioning of GUI components contentPane.setLayout( null ); // set up restaurantJLabel restaurantJLabel = new JLabel(); restaurantJLabel.setBounds( 80, 8, 128, 24 ); restaurantJLabel.setText( "Restaurant" ); restaurantJLabel.setFont( new Font( "SansSerif", Font.BOLD , 16 ) ); contentPane.add( restaurantJLabel ); // set up waiterJPanel createWaiterJPanel(); contentPane.add( waiterJPanel ); // set up menuItemsJPanel createMenuItemsJPanel(); contentPane.add( menuItemsJPanel ); // set up calculateBillJButton calculateBillJButton = new JButton(); calculateBillJButton.setBounds( 92, 320, 90, 24 ); calculateBillJButton.setText( "Calculate Bill" ); calculateBillJButton.setBorder( BorderFactory.createRaisedBevelBorder() ); contentPane.add( calculateBillJButton ); calculateBillJButton.addActionListener( new ActionListener() // anonymous inner class { // event handler called when calculateBillJButton // is clicked public void actionPerformed( ActionEvent event ) { calculateBillJButtonActionPerformed( event ); } } // end anonymous inner class ); // end addActionListener // set up subtotalJLabel subtotalJLabel = new JLabel(); subtotalJLabel.setBounds( 28, 360, 56, 16 ); subtotalJLabel.setText( "Subtotal:" ); contentPane.add( subtotalJLabel ); // set up subtotalJTextField subtotalJTextField = new JTextField(); subtotalJTextField.setBounds( 92, 360, 90, 20 ); subtotalJTextField.setEditable( false ); subtotalJTextField.setBorder( BorderFactory.createLoweredBevelBorder() ); subtotalJTextField.setHorizontalAlignment( JTextField.RIGHT ); contentPane.add( subtotalJTextField ); // set up taxJLabel taxJLabel = new JLabel(); taxJLabel.setBounds( 28, 392, 56, 16 ); taxJLabel.setText( "Tax:" ); contentPane.add( taxJLabel ); // set up taxJTextField taxJTextField = new JTextField(); taxJTextField.setBounds( 92, 392, 90, 20 ); taxJTextField.setEditable( false ); taxJTextField.setBorder( BorderFactory.createLoweredBevelBorder() ); taxJTextField.setHorizontalAlignment( JTextField.RIGHT ); contentPane.add( taxJTextField ); // set up totalJLabel totalJLabel = new JLabel(); totalJLabel.setBounds( 28, 424, 56, 16 ); totalJLabel.setText( "Total:" ); contentPane.add( totalJLabel ); // set up totalJTextField totalJTextField = new JTextField(); totalJTextField.setBounds( 92, 424, 90, 20 ); totalJTextField.setEditable( false ); totalJTextField.setBorder( BorderFactory.createLoweredBevelBorder() ); totalJTextField.setHorizontalAlignment( JTextField.RIGHT ); contentPane.add( totalJTextField ); // set properties of application's window setTitle( "Restaurant Bill Calculator" ); // set window title setSize( 280, 500 ); // set window size setVisible( true ); // display window // ensure database connection is closed // when user quits application addWindowListener( new WindowAdapter() // anonymous inner class { // event handler called when close button is clicked public void windowClosing( WindowEvent event ) { frameWindowClosing( event ); } } // end anonymous inner class ); // end addWindowListener } // end method createUserInterface // set up waiterJPanel private void createWaiterJPanel() { // set up waiterJPanel waiterJPanel = new JPanel(); waiterJPanel.setBounds( 20, 48, 232, 88 ); waiterJPanel.setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Waiter Information" ) ); waiterJPanel.setLayout( null ); // set up tableNumberJLabel tableNumberJLabel = new JLabel(); tableNumberJLabel.setBounds( 35, 24, 90, 16 ); tableNumberJLabel.setText( "Table number:" ); waiterJPanel.add( tableNumberJLabel ); // set up tableNumberJTextField tableNumberJTextField = new JTextField(); tableNumberJTextField.setBounds( 128, 24, 88, 21 ); waiterJPanel.add( tableNumberJTextField ); // set up waiterNameJLabel waiterNameJLabel = new JLabel(); waiterNameJLabel.setBounds( 35, 56, 90, 16 ); waiterNameJLabel.setText( "Waiter name:" ); waiterJPanel.add( waiterNameJLabel ); // set up waiterNameJTextField waiterNameJTextField = new JTextField(); waiterNameJTextField.setBounds( 128, 56, 88, 21 ); waiterJPanel.add( waiterNameJTextField ); } // end method createWaiterJPanel // create menuItemsJPanel private void createMenuItemsJPanel() { // set up menuItemsJPanel menuItemsJPanel = new JPanel(); menuItemsJPanel.setBounds( 20, 152, 232, 152 ); menuItemsJPanel.setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Menu Items" ) ); menuItemsJPanel.setLayout( null ); // set up beverageJLabel beverageJLabel = new JLabel(); beverageJLabel.setBounds( 8, 24, 80, 24 ); beverageJLabel.setText( "Beverage:" ); menuItemsJPanel.add( beverageJLabel ); // set up beverageJComboBox beverageJComboBox = new JComboBox(); beverageJComboBox.setBounds( 88, 24, 128, 25 ); menuItemsJPanel.add( beverageJComboBox ); beverageJComboBox.addItemListener( new ItemListener() // anonymous inner class { // event handler called when item in beverageJComboBox // is selected public void itemStateChanged( ItemEvent event ) { beverageJComboBoxItemStateChanged( event ); } } // end anonymous inner class ); // end addItemListener // add items to beverageJComboBox beverageJComboBox.addItem( "" ); loadCategory( "Beverage", beverageJComboBox ); // set up appetizerJLabel appetizerJLabel = new JLabel(); appetizerJLabel.setBounds( 8, 56, 80, 24 ); appetizerJLabel.setText( "Appetizer:" ); menuItemsJPanel.add( appetizerJLabel ); // set up appetizerJComboBox appetizerJComboBox = new JComboBox(); appetizerJComboBox.setBounds( 88, 56, 128, 25 ); menuItemsJPanel.add( appetizerJComboBox ); appetizerJComboBox.addItemListener( new ItemListener() // anonymous inner class { // event handler called when item in appetizerJComboBox // is selected public void itemStateChanged( ItemEvent event ) { appetizerJComboBoxItemStateChanged( event ); } } // end anonymous inner class ); // end addItemListener // add items to appetizerJComboBox appetizerJComboBox.addItem( "" ); loadCategory( "Appetizer", appetizerJComboBox ); // set up mainCourseJLabel mainCourseJLabel = new JLabel(); mainCourseJLabel.setText( "Main Course:" ); mainCourseJLabel.setBounds( 8, 88, 80, 24 ); menuItemsJPanel.add( mainCourseJLabel ); // set up mainCourseJComboBox mainCourseJComboBox = new JComboBox(); mainCourseJComboBox.setBounds( 88, 88, 128, 25 ); mainCourseJComboBox.addItemListener( new ItemListener() // anonymous inner class { // event handler called when item in mainCourseJComboBox // is selected public void itemStateChanged( ItemEvent event ) { mainCourseJComboBoxItemStateChanged( event ); } } // end anonymous inner class ); // end addItemListener menuItemsJPanel.add( mainCourseJComboBox ); // add items to mainCourseJComboBox mainCourseJComboBox.addItem( "" ); loadCategory( "Main Course", mainCourseJComboBox ); // set up dessertJLabel dessertJLabel = new JLabel(); dessertJLabel.setBounds( 8, 120, 80, 24 ); dessertJLabel.setText( "Dessert:" ); menuItemsJPanel.add( dessertJLabel ); // set up dessertJComboBox dessertJComboBox = new JComboBox(); dessertJComboBox.setBounds( 88, 120, 128, 25 ); menuItemsJPanel.add( dessertJComboBox ); dessertJComboBox.addItemListener( new ItemListener() // anonymous inner class { // event handler called when item in dessertJComboBox // is selected public void itemStateChanged( ItemEvent event ) { dessertJComboBoxItemStateChanged( event ); } } // end anonymous inner class ); // end addItemListener // add items to dessertJComboBox dessertJComboBox.addItem( "" ); loadCategory( "Dessert", dessertJComboBox ); } // end method createMenuItemsJPanel // add items to JComboBox private void loadCategory( String category, JComboBox categoryJComboBox ) { } // end method loadCategory // user select beverage private void beverageJComboBoxItemStateChanged( ItemEvent event ) { } // end method beverageJComboBoxItemStateChanged // user select appetizer private void appetizerJComboBoxItemStateChanged( ItemEvent event ) { } // end method appetizerJComboBoxItemStateChanged // user select main course private void mainCourseJComboBoxItemStateChanged( ItemEvent event ) { } // end method mainCourseJComboBoxItemStateChanged // user select dessert private void dessertJComboBoxItemStateChanged( ItemEvent event ) { } // end method dessertJComboBoxItemStateChanged // user click Calculate Bill JButton private void calculateBillJButtonActionPerformed( ActionEvent event ) { } // end method calculateBillJButtonActionPerformed // calculate subtotal private double calculateSubtotal() { return 0; } // end method calculateSubtotal // user close window private void frameWindowClosing( WindowEvent event ) { } // end method frameWindowClosing // method main public static void main( String[] args ) { // check command-line arguments if ( args.length == 2 ) { // get command-line arguments String databaseDriver = args[ 0 ]; String databaseURL = args[ 1 ]; // create new RestaurantBillCalculator RestaurantBillCalculator application = new RestaurantBillCalculator ( databaseDriver, databaseURL ); } else { System.out.println( "Usage: java " + "RestaurantBillCalculator databaseDriver databaseURL" ); } } // end method main } // end class RestaurantBillCalculator


Solved