I have started my code to create an application with two combo boxes. One that holds the names of the dormitories and the other holds the meal plans. The user should select a dormitory and a meal plan, and the application should show the total charges for the semester. I have the GUI and the combo boxes. I was trying to add the calc button and I cant get past the :
Main.java:23: cannot find symbol
symbol : class JButton
location: class Main
private JButton calcButton;
^

import java.awt.BorderLayout;
   import java.awt.event.ActionEvent;
   import java.awt.event.ActionListener;
   import javax.swing.JComboBox;
   import javax.swing.JFrame;
   import javax.swing.JLabel;
   import javax.swing.JPanel;
   import javax.swing.JTextField;

	/**
		The Main class creates the GUI for the Dorm and 
		Meal charges.
	*/
   public class Main extends JFrame
   {
      private JPanel dormPanel;
		private JComboBox dormBox;
      private JPanel mealPanel;
		private JComboBox mealBox;
      private JPanel totalChargesPanel;
      private JPanel selectedMealPanel;
      private JPanel buttonPanel;
		private JButton calcButton;
      private JLabel label1;
      private JTextField totalCharges;
   	
      private String[] dorm = { "Allen Hall: $1,500 per semester", 
         							  "Pike Hall: $1,600 per semester", 
         							  "Farthing Hall: $1,200 per semester", 
         							  "University Suites: $1,800 per semester"};
   									  
      private String[] meal = { "7 meals per week: $650 per semester", 
         							  "14 meals per week: $1,095 per semester", 
         							  "Unlimited meals: $1,500 per semester"};
   
     	/**
   		Constructor
   	*/
      public Main()
      {
         super("Dormitory and Meal Plan");
      
      // Specify an action for the close button.
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
      // Create a BorderLayout manager.
         setLayout(new BorderLayout());
      
      // Create the dorm and meal panel.      
         buildDormPanel();
         buildMealPanel();
         buildSelectedTotalChargesPanel();
         buildbuttonPanel();
      	
      // Add the components to the content pane.   
         add(dormPanel, BorderLayout.WEST);
         add(mealPanel, BorderLayout.EAST);
         add(totalChargesPanel, BorderLayout.SOUTH);
         add(buttonPanel, BorderLayout.NORTH);
      	
      	// Pack the contents of the window and display it.    
         pack();
         setVisible(true);
      }
   
   	// The buildDormPanel method builds the dorm panel.	
      private void buildDormPanel()
      {
      // Create the dorm panel.      
         dormPanel = new JPanel();
         dormBox = new JComboBox(dorm);
      
      // Register the action listener.      
         dormBox.addActionListener(new ComboBoxListener());
      
      // Add the dorm panel to the panel.
         dormPanel.add(dormBox);
      }
   	
   	// The buildMealPanel method builds the meal panel.	
      private void buildMealPanel()
      {
      // Create the meal panel.      
         mealPanel = new JPanel();
         mealBox = new JComboBox(meal);
      	
      // Register the action listener.
         mealBox.addActionListener(new ComboBoxListener());
      
      // Add the meal panel to the panel.
         mealPanel.add(mealBox);
      }
   
   	// The buttonPanel method builds the bottun panel.
      private void buildButtonPanel()
      {
      	// Create a panel.
         buttonPanel = new JPanel();
      	
      	// Create a button.
         calcButton = new JButton("Calculate");
      	
      	// Register an action listener with the button.
         button.addActionListener(new ButtonListerner());
			      	
      	// Add the button to the panel.
         buttonPanel.add(calcButton);
      }
   	
   	// The buildSelectedDormPanel builds the selected totalCharges panel.
      private void buildSelectedTotalChargesPanel()
      {
      // Create the totalChargesPanel for the label.      
         totalChargesPanel = new JPanel();
         label1 = new JLabel("Total charges per semester: ");
      	
      // Create the totalCharges textfield.        
         totalCharges = new JTextField (25);
         totalCharges.setEditable(false);
      
      // Add the totalChargesPanel to the panel.      
         totalChargesPanel.add(label1);
         totalChargesPanel.add(totalCharges);
      }
   	
      
   	/** Private inner class that handles the event when the user 
   		 selects the dorm and meal boxes.
   	*/
      private class ComboBoxListener implements ActionListener
      {
         public void actionPerformed(ActionEvent e) 
         {
         	// Variables to hold the dorm, meal, and total charges.        
            String dorm = (String) dormBox.getSelectedItem();
            String meal = (String) mealBox.getSelectedItem();
         	
         	// Calculates the total.
            totalCharges.setText(meal + dorm);
         }
      }
   
      public static void main(String[] args)
      {
         new Main();
      }
   }

Recommended Answers

All 6 Replies

I found some errors in your code:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
		The Main class creates the GUI for the Dorm and 
		Meal charges.
 */
public class Main extends JFrame
{
	private JPanel dormPanel;
	private JComboBox dormBox;
	private JPanel mealPanel;
	private JComboBox mealBox;
	private JPanel totalChargesPanel;
	private JPanel selectedMealPanel;
	private JPanel buttonPanel;
	private JButton calcButton;
	private JLabel label1;
	private JTextField totalCharges;

	private String[] dorm = { "Allen Hall: $1,500 per semester", 
			"Pike Hall: $1,600 per semester", 
			"Farthing Hall: $1,200 per semester", 
	"University Suites: $1,800 per semester"};

	private String[] meal = { "7 meals per week: $650 per semester", 
			"14 meals per week: $1,095 per semester", 
	"Unlimited meals: $1,500 per semester"};

	/**
   		Constructor
	 */
	public Main()
	{
		super("Dormitory and Meal Plan");

		// Specify an action for the close button.
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// Create a BorderLayout manager.
		setLayout(new BorderLayout());

		// Create the dorm and meal panel.      
		buildDormPanel();
		buildMealPanel();
		buildSelectedTotalChargesPanel();
		buildButtonPanel();

		// Add the components to the content pane.   
		add(dormPanel, BorderLayout.WEST);
		add(mealPanel, BorderLayout.EAST);
		add(totalChargesPanel, BorderLayout.SOUTH);
		add(buttonPanel, BorderLayout.NORTH);

		// Pack the contents of the window and display it.    
		pack();
		setVisible(true);
	}

	// The buildDormPanel method builds the dorm panel.	
	private void buildDormPanel()
	{
		// Create the dorm panel.      
		dormPanel = new JPanel();
		dormBox = new JComboBox(dorm);

		// Register the action listener.      
		dormBox.addActionListener(new ComboBoxListener());

		// Add the dorm panel to the panel.
		dormPanel.add(dormBox);
	}

	// The buildMealPanel method builds the meal panel.	
	private void buildMealPanel()
	{
		// Create the meal panel.      
		mealPanel = new JPanel();
		mealBox = new JComboBox(meal);

		// Register the action listener.
		mealBox.addActionListener(new ComboBoxListener());

		// Add the meal panel to the panel.
		mealPanel.add(mealBox);
	}

	// The buttonPanel method builds the bottun panel.
	private void buildButtonPanel()
	{
		// Create a panel.
		buttonPanel = new JPanel();

		// Create a button.
		calcButton = new JButton("Calculate");

		// Register an action listener with the button.
		calcButton.addActionListener(new ButtonListener());

		// Add the button to the panel.
		buttonPanel.add(calcButton);
	}

	// The buildSelectedDormPanel builds the selected totalCharges panel.
	private void buildSelectedTotalChargesPanel()
	{
		// Create the totalChargesPanel for the label.      
		totalChargesPanel = new JPanel();
		label1 = new JLabel("Total charges per semester: ");

		// Create the totalCharges textfield.        
		totalCharges = new JTextField (25);
		totalCharges.setEditable(false);

		// Add the totalChargesPanel to the panel.      
		totalChargesPanel.add(label1);
		totalChargesPanel.add(totalCharges);
	}


	/** Private inner class that handles the event when the user 
   		 selects the dorm and meal boxes.
	 */
	private class ComboBoxListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e) 
		{
			// Variables to hold the dorm, meal, and total charges.        
			String dorm = (String) dormBox.getSelectedItem();
			String meal = (String) mealBox.getSelectedItem();

			// Calculates the total.
			totalCharges.setText(meal + dorm);
		}
	}
	private class ButtonListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e) 
		{
			// Add code below
		}
	}

	public static void main(String[] args)
	{
		new Main();
	}
}

There was missing an import (javax.swing.JButton) and some errors into buildButtonPanel() method.

Try:
import javax.swing.JButton;

Great Thanks! Now its on to the calculations...Im sure I will be back with more questions!

mark this thread as solved, and start a new thread with specific questions when you need to :)

can anyone do this in visual basic? I can't figure it out. Thanks!

Sure, it's Turing complete. Why you'd want to is beyond me, though.
Try over in VB.NET - they like that sort of thing over there.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.