Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Map TableModel

/*  * 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