How do I add a ComboBox to this, underneath \"Enter Student ID\" that says the f
ID: 3788269 • Letter: H
Question
How do I add a ComboBox to this, underneath "Enter Student ID" that says the following?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class Registration extends JFrame {
private JDesktopPane theDesktop;
public Registration(){
theDesktop = new JDesktopPane();
JMenuBar bar = new JMenuBar();
JMenu fileMenu = new JMenu("Course");
JMenuItem addCourseItem = new JMenuItem("Add Course");
fileMenu.add(addCourseItem);
JMenu tuitionMenu = new JMenu("Tuition");
JMenuItem calculateItem = new JMenuItem("Calculate Tuition");
JMenuItem printTuitionItem = new JMenuItem("Print Tuition");
JMenuItem printSchedulesItem = new JMenuItem("Print Student Schedules");
tuitionMenu.add(calculateItem);
tuitionMenu.add(printTuitionItem);
tuitionMenu.add(printSchedulesItem);
JMenu exitMenu = new JMenu("Exit");
JMenuItem exitProgramItem = new JMenuItem("Exit Program");
exitMenu.add(exitProgramItem);
addCourseItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae) {
JInternalFrame frame = new JInternalFrame("Enter Student ID", true, true, true, true);
ReadPanel rp = new ReadPanel();
frame.add(rp);
frame.pack();
theDesktop.add(frame);
frame.setVisible(true);
}
});
exitProgramItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
System.exit(0);
}
});
calculateItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
}
});
printTuitionItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
}
});
printSchedulesItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
}
});
bar.add(fileMenu);
bar.add(tuitionMenu);
bar.add(exitMenu);
setJMenuBar(bar);
add(theDesktop);
}
public class ReadPanel extends Panel{
private JLabel findLabel;
private JTextField findField;
private JLabel buttonLabel;
private JButton submitButton;
public ReadPanel(){
findLabel = new JLabel("Enter Student ID");
findField = new JTextField(15);
buttonLabel = new JLabel("Select Course");
buttonLabel = new JLabel("Click to Add");
submitButton = new JButton("Submit");
setLayout(new GridLayout(2,2));
submitButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
System.out.println(findField.getText());
findField.setText("");
}
});
add(findLabel);
add(findField);
add(buttonLabel);
add(buttonLabel);
add(submitButton);
}
}
public static void main(String[] args){
Registration r1 = new Registration();
r1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
r1.setLocationRelativeTo(null);
r1.setSize(400,400);
r1.setVisible(true);
}
}
Explanation / Answer
//Changes added to Registration class in bold text
//Registration.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class Registration extends JFrame {
private JDesktopPane theDesktop;
public Registration(){
theDesktop = new JDesktopPane();
JMenuBar bar = new JMenuBar();
JMenu fileMenu = new JMenu("Course");
JMenuItem addCourseItem = new JMenuItem("Add Course");
fileMenu.add(addCourseItem);
JMenu tuitionMenu = new JMenu("Tuition");
JMenuItem calculateItem = new JMenuItem("Calculate Tuition");
JMenuItem printTuitionItem = new JMenuItem("Print Tuition");
JMenuItem printSchedulesItem = new JMenuItem("Print Student Schedules");
tuitionMenu.add(calculateItem);
tuitionMenu.add(printTuitionItem);
tuitionMenu.add(printSchedulesItem);
JMenu exitMenu = new JMenu("Exit");
JMenuItem exitProgramItem = new JMenuItem("Exit Program");
exitMenu.add(exitProgramItem);
addCourseItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae) {
JInternalFrame frame =
new JInternalFrame("Student Registration",
true, true, true, true);
ReadPanel rp = new ReadPanel();
frame.add(rp);
frame.pack();
theDesktop.add(frame);
frame.setVisible(true);
}
});
exitProgramItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
System.exit(0);
}
});
calculateItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
}
});
printTuitionItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
}
});
printSchedulesItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
}
});
bar.add(fileMenu);
bar.add(tuitionMenu);
bar.add(exitMenu);
setJMenuBar(bar);
add(theDesktop);
}
public class ReadPanel extends Panel{
private JLabel findLabel;
private JTextField findField;
//Declare two separate labels and combo box
private JLabel buttonLabel1;
private JComboBox<String>coursetBox;
private JLabel buttonLabel2;
private JButton submitButton;
public ReadPanel()
{
//Set gride layout of 3 rows and 2 columns
setLayout(new GridLayout(3,2));
//Set courses of array
String[] courses={"Select One","CS100","CS101","CS102"};
findLabel = new JLabel("Enter Student ID");
findField = new JTextField(15);
buttonLabel1 = new JLabel("Select Course");
coursetBox=new JComboBox<String>(courses);
buttonLabel2 = new JLabel("Click to Add");
submitButton = new JButton("Submit");
submitButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
System.out.println(findField.getText());
findField.setText("");
//get text from the combo box of selected item
String courseName=(String) coursetBox.getSelectedItem();
System.out.println(courseName);
}
});
add(findLabel);add(findField);
add(buttonLabel1);add(coursetBox);
add(buttonLabel2);add(submitButton);
}
}
public static void main(String[] args){
Registration r1 = new Registration();
r1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
r1.setLocationRelativeTo(null);
r1.setSize(400,400);
r1.setVisible(true);
}
}
Sample output:
Click Add Course button
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.