// Copyright MageLang Institute; Version $Id: //depot/main/src/edu/modules/Swing/magercises/JTable/Solution/ADataModel.java#2 $ import javax.swing.*; import javax.swing.table.*; class ADataModel extends AbstractTableModel { // Imagine the data coming from JDBC // With column names from ResultSetMetaData String columns[] = {"Name", "Favorite Color"}; String rows[][] = { {"Alexander", "red"}, {"Jerry", "blue"}, {"Jim", "black"}, {"John", "green"}, {"Mel", "orange"}, {"Michael", "lightGray"}, {"Peter", "magenta"}, {"Randy", "green"}, {"Rob", "cyan"}, {"Scott", "yellow"}, {"Susan", "darkGray"} }; // Save array lengths for performance reasons private int numColumns = columns.length; private int numRows = rows.length; public int getColumnCount() { return numColumns; } public int getRowCount() { return numRows; } public Object getValueAt (int row, int column) { return rows[row][column]; } public String getColumnName (int columnIndex) { return columns[columnIndex]; } }