import javax.swing.*; import java.awt.*; import java.awt.event.*; public class MyCombo extends JFrame{ private JLabel showLabel; private JPanel messagePanel; String[] messages; JComboBox messageBox; public MyCombo() { messages = new String[3]; messages[0] = "A message"; messages[1] = "Another message"; messages[2] = "A creative message"; messageBox = new JComboBox(messages); messageBox.setEditable(true); messageBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent event) { if (event.getStateChange() == ItemEvent.SELECTED) { if (messageBox.getSelectedIndex() == -1) messageBox.addItem( messageBox.getSelectedItem()); showLabel.setText((String) messageBox.getSelectedItem()); } } } ); // end listener showLabel = new JLabel(messages[0]); messagePanel = new JPanel(); messagePanel.add(messageBox); Container container = getContentPane(); container.setLayout(new BorderLayout()); container.add(showLabel, BorderLayout.NORTH); container.add(messagePanel, BorderLayout.CENTER); setSize(265,300); setVisible(true); } public static void main(String[] args) { MyCombo app = new MyCombo(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }