Question
I need some help with this question.
Dorm and Meal Plan Calculator
A university has the following dormitories:
Allen Hall $1,500 per semester
Pike Hall $1,600 per semester
Farthing Hall $1,800 per semester
University Suites $2,500 per semester
The university also offers the following meal plans:
7 meals per week $ 600 per semester
14 meals per week $1,200 per semester
Unlimited meals $1,700 per semester
Create an application with two forms. The main form should allow the user to select
a dormitory and a meal plan. The application should show the total charges on the
second form.
Explanation / Answer
import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class DormAndMealPlanCalc extends JFrame { private JPanel dormPanel; private JPanel selectedDormPanel; private JComboBox DormBox; private JLabel label; private JTextField selectedDorm; private String[] dorm = { "Allen Hall: $1,500 per semester", "Pike Hall: $1,100 per" + "semester", "Fathering Hall: 1,200 per semester", "Universty Suites: $1,800" }; protected class ComboBoxWindow1 extends JFrame { protected ComboBoxWindow1() { super( "Dorm plan" ); setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); setLayout( new BorderLayout() ); buildDormPanel(); buildSelectedDormPanel(); add( dormPanel, BorderLayout.CENTER ); add( selectedDormPanel, BorderLayout.SOUTH ); pack(); setVisible( true ); } } private void buildDormPanel() { dormPanel = new JPanel(); DormBox = new JComboBox( dorm ); DormBox.addActionListener( new ComboBoxListener() ); dormPanel.add( DormBox ); } private void buildSelectedDormPanel() { selectedDormPanel = new JPanel(); label = new JLabel( "You selected: " ); selectedDorm = new JTextField( 10 ); selectedDorm.setEditable( false ); selectedDormPanel.add( label ); selectedDormPanel.add( selectedDorm ); } private class ComboBoxListener implements ActionListener { @Override public void actionPerformed( ActionEvent e ) { String selection = (String) DormBox.getSelectedItem(); selectedDorm.setText( selection ); } } private JPanel mealPanel; private JPanel selectedMealPanel; private JComboBox mealBox; private JLabel label1; private JTextField selectedMeal; private JButton calcbutton; private String[] meal = { "7 meals per week: $560 per semester", "14 meals per week: $1,095 per semester", "Unlimited meals: $1,500 per semester" }; protected class ComboBoxWindow2 extends JFrame { protected ComboBoxWindow2() { super( "Meal plan" ); setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); setLayout( new BorderLayout() ); buildMealPanel(); buildSelectedMealPanel(); add( mealPanel, BorderLayout.CENTER ); add( selectedMealPanel, BorderLayout.SOUTH ); pack(); setVisible( true ); } } private void buildMealPanel() { mealPanel = new JPanel(); mealBox = new JComboBox( meal ); mealBox.addActionListener( new ComboBoxListener() ); mealPanel.add( mealBox ); calcbutton = new JButton( "Calculate" ); calcbutton.addActionListener( new ActionListener() { @Override public void actionPerformed( ActionEvent e ) { throw new UnsupportedOperationException( "Not supported yet." ); } } ); } private void buildSelectedMealPanel() { selectedMealPanel = new JPanel(); label = new JLabel( "You selected: " ); selectedMeal = new JTextField( 10 ); selectedMeal.setEditable( false ); selectedMealPanel.add( label ); selectedMealPanel.add( selectedDorm ); } private class ComboBoxListener1 implements ActionListener { @Override public void actionPerformed( ActionEvent e ) { String selection = (String) DormBox.getSelectedItem(); selectedDorm.setText( selection ); JOptionPane.showMessageDialog( null, "Total is" + dorm + meal ); } } static public void main( String[] args ) { // do your thing } }