001 package data.swing;
002
003 import javax.swing.table.*;
004 import javax.swing.*;
005
006 import java.util.Comparator;
007
008 import data.*;
009
010 import util.swing.*;
011
012 /**
013 * A {@link JTable} for displaying and editing the contents of a {@link Catalog}.
014 *
015 * @author Steffen Zschaler
016 * @version 2.0 23/08/1999
017 * @since v2.0
018 */
019 public class JCatalogTable extends JAbstractTable {
020
021 /**
022 * Create a new JCatalogTable.
023 *
024 * @param c the Catalog to be displayed.
025 * @param db the DataBasket to be used to determine visibility.
026 * @param cmp a Comparator defining the sort order. If <code>null</code>, the CatalogItems are ordered in
027 * their natural order.
028 * @param ted a TableEntryDescriptor that can split CatalogItems into a table's cells.
029 */
030 public JCatalogTable(Catalog c, DataBasket db, Comparator cmp, TableEntryDescriptor ted) {
031 super(new CatalogTableModel(c, db, cmp, ted));
032
033 if (c instanceof Currency) {
034 setDefaultRenderer(NumberValue.class, new CurrencyRenderer((Currency)c));
035 }
036 }
037 }