import javax.swing.*; import javax.swing.event.*; import java.awt.*; /** This class demonstrates the List Component. */ public class ListWindow extends JFrame { private JPanel monthPanel; // To hold components private JPanel selectedMonthPanel; // To hold components private JList monthList; // The months private JTextField selectedMonth; // The selected month private JLabel label; // A message // The following array holds the values that will // be displayed in the monthList list component. private String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; /** Constructor */ public ListWindow() { // Set the title. // Specify an action for the close button. // Add a BorderLayout manager. // Build the month and selectedMonth panels. // Add the panels to the content pane. // Pack and display the window. pack(); } /** The buildMonthPanel method adds a list containing the names of the months to a panel. */ private void buildMonthPanel() { // Create a panel to hold the list. // Create the list. // Set the selection mode to single selection. // Register the list selection listener. // Add the list to the panel. } /** The buildSelectedMonthPanel method adds an uneditable text field to a panel. */ private void buildSelectedMonthPanel() { // Create a panel to hold the text field. selectedMonthPanel = new JPanel(); // Create the label. label = new JLabel("You selected: "); // Create the text field. selectedMonth = new JTextField(10); // Make the text field uneditable. selectedMonth.setEditable(false); // Add the label and text field to the panel. selectedMonthPanel.add(label); selectedMonthPanel.add(selectedMonth); } /** Private inner class that handles the event when the user selects an item from the list. */ private class ListListener implements ListSelectionListener { public void valueChanged(ListSelectionEvent e) { // Get the selected month. String selection = (String) monthList.getSelectedValue(); // Put the selected month in the text field. selectedMonth.setText(selection); } } /** The main method creates an instance of the ListWindow class which causes it to display its window. */ public static void main(String[] args) { new ListWindow(); } }