import java.util.* ; import java.io.* ; import java.awt.* ; import java.awt.event.* ; import javax.swing.* ; import javax.swing.event.* ; class TerminationListener implements WindowListener { public void windowActivated(WindowEvent e) {} public void windowClosed(WindowEvent e) {} public void windowClosing(WindowEvent e) { System.exit(0) ; } public void windowDeactivated(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowOpened(WindowEvent e) {} } class DefaultListModelPanel extends JPanel implements ActionListener { public DefaultListModelPanel() { String [] colors = {"black", "blue", "cyan", "darkGray", "gray", "green", "lightGray", "magenta", "orange", "pink", "red", "white", "yellow"} ; keys = new DefaultListModel() ; for(int i = 0 ; i < colors.length ; i++) keys.addElement(colors [i]) ; list = new JList(keys) ; list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION) ; add(new JScrollPane(list, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER)) ; JButton delete = new JButton("delete") ; delete.addActionListener(this) ; add(delete) ; } public void actionPerformed(ActionEvent evt) { int index = list.getSelectedIndex() ; if(index >= 0) { keys.remove(index) ; } else Toolkit.getDefaultToolkit().beep() ; } private JList list ; private DefaultListModel keys ; } public class DefaultListModelTest { public static void main(String [] args) { JFrame frame = new JFrame() ; frame.setTitle("DefaultListModel") ; frame.setSize(450, 300) ; frame.addWindowListener(new TerminationListener()) ; frame.getContentPane().add(new DefaultListModelPanel()) ; frame.setVisible(true) ; } }