Java tutorial
/* * Project: Gulden Utilies * Class: de.gulden.util.swing.MapTableModel * Version: snapshot-beautyj-1.1 * * Date: 2004-09-29 * * This is a snapshot version of the Gulden Utilities, * it is not released as a seperate version. * * Note: Contains auto-generated Javadoc comments created by BeautyJ. * * This is licensed under the GNU Lesser General Public License (LGPL) * and comes with NO WARRANTY. * * Author: Jens Gulden * Email: amoda@jensgulden.de */ import java.util.*; import java.util.Map; import javax.swing.table.AbstractTableModel; /** * Class MapTableModel. * * @author Jens Gulden * @version snapshot-beautyj-1.1 */ public class MapTableModel extends AbstractTableModel { // ------------------------------------------------------------------------ // --- fields --- // ------------------------------------------------------------------------ /** * The map. */ protected Map map; /** * The column names array. */ protected String[] columnNames; // ------------------------------------------------------------------------ // --- constructors --- // ------------------------------------------------------------------------ /** * Creates a new instance of MapTableModel. */ public MapTableModel() { super(); } /** * Creates a new instance of MapTableModel. */ public MapTableModel(Map map) { this(map, "Entry", "Value"); } /** * Creates a new instance of MapTableModel. */ public MapTableModel(Map map, String keyName, String valueName) { this(); setMap(map); setColumnNames(keyName, valueName); } // ------------------------------------------------------------------------ // --- methods --- // ------------------------------------------------------------------------ /** * Returns the row count. */ public int getRowCount() { return map.size(); } /** * Returns the column count. */ public int getColumnCount() { return 2; } /** * Returns the value at. */ public Object getValueAt(int row, int column) { Object[] entries = map.entrySet().toArray(); Map.Entry entry = (Map.Entry) entries[row]; if (column == 0) { return entry.getKey(); } else if (column == 1) { // column==1 return entry.getValue(); } else { throw new IndexOutOfBoundsException( "MapTableModel provides a 2-column table, column-index " + column + " is illegal."); } } /** * Returns the column name. */ public String getColumnName(int column) { return columnNames[column]; } /** * Sets the column names. */ public void setColumnNames(String keyName, String valueName) { String[] names = { keyName, valueName }; columnNames = names; } /** * Returns the map. */ public Map getMap() { return map; } /** * Sets the map. */ public void setMap(Map _map) { map = _map; } } // end MapTableModel