//Copyright (c) 2000, Art Gittleman //This example is provided WITHOUT ANY WARRANTY either expressed or implied. /* Illustrates a JTable. */ import javax.swing.*; import javax.swing.table.*; import java.awt.*; import java.awt.event.*; import javax.swing.event.*; public class TableDefault extends JFrame implements ListSelectionListener { Object[][] courses = { {"261", "Computing with Java"}, {"471", "Internet Applications with Java"}, {"524", "Topics in Programming Languages"} }; String[] headings = { "Course Number", "Course Name" }; JTable table; DefaultTableModel d = new DefaultTableModel(courses, headings); Button b = new Button("Change"); public TableDefault(String title) { super(title); Container c = getContentPane(); table = new JTable(d); JScrollPane scrollpane = new JScrollPane(table); scrollpane.setPreferredSize(new Dimension(500,200)); JPanel panel = new JPanel(); panel.add(b); c.add(panel, "North"); c.add(scrollpane,"Center"); addWindowListener(new CloseWindow()); ListSelectionModel model = table.getSelectionModel(); model.addListSelectionListener(this); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String[] s = {"475", "C++"}; d.insertRow(2, s); d.removeRow(0); String[] s1 = {"", ""}; d.addRow(s1); } }); } public void valueChanged(ListSelectionEvent e) { if (e.getValueIsAdjusting()) return; ListSelectionModel m = (ListSelectionModel)e.getSource(); int row = m.getMinSelectionIndex(); System.out.println(row); } public static void main(String [] args) { TableDefault t = new TableDefault("Java classes"); t.pack(); t.show(); } class CloseWindow extends WindowAdapter { public void windowClosing(WindowEvent event) { System.exit(0); } } }