Class SwingTreeMap<N,​Row,​Column>

  • All Implemented Interfaces:
    TreeMap<javax.swing.JComponent,​N,​Row,​Column,​java.awt.Color,​java.awt.Font>

    public class SwingTreeMap<N,​Row,​Column>
    extends AbstractTreeMap<javax.swing.JComponent,​N,​Row,​Column,​java.awt.Color,​java.awt.Font>
    A facade to the TreeMap model-view-controller (MVC) architecture. In brief, the controller collects user input, the model manipulates application data, and the view presents results to the user. This class wraps a TreeMapModel, TreeMapView, and TreeMapController together. It allows easy loading of the data and customization of the most common settings.

    Here is a simplistic example of how to get started with this class within minutes:

    
     import com.macrofocus.treemap.TreeMap;
     import javax.swing.*;
     import javax.swing.table.DefaultTableModel;
     import javax.swing.table.TableModel;
    
     public class Hello {
       public static void main(String[] args) {
           // Defining the data, column names and types
           Object[][] data = new Object[][]{
                   {"Hello", 12, 3.0},
                   {"from", 11, 4.0},
                   {"the", 9, 5.0},
                   {"TreeMap", 8, 6.0},
                   {"World!", 7, 7.0},
           };
           Object[] columnNames = new Object[]{"Name", "Value", "Strength"};
           final Class[] columnTypes = new Class[]{String.class, Integer.class, Double.class};
    
           // Creating a standard Swing TableModel
           TableModel tableModel = new DefaultTableModel(data, columnNames) {
               public Class<?> getColumnClass(int columnIndex) {
                   return columnTypes[columnIndex];
               }
           };
    
           // Creating the TreeMap
           TreeMap treeMap = new TreeMap(tableModel);
    
           // Tuning the appearance of the TreeMap
           treeMap.setSizeByName("Value");
           treeMap.setColor(2);
           treeMap.setBackgroundByName("Name");
           treeMap.setLabels();
    
           // Creating a frame to display
           final JFrame frame = new JFrame("Hello from the TreeMap World!");
           frame.setSize(600, 600);
           frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           frame.getContentPane().add(treeMap);
           frame.setLocationRelativeTo(null);
           frame.setVisible(true);
       }
     }
     
    The code above will produce the following output:

    • Constructor Detail

      • SwingTreeMap

        public SwingTreeMap()
        Creates a TreeMap component with default settings and configuration.
      • SwingTreeMap

        public SwingTreeMap​(TreeMapModel<N,​Row,​Column,​java.awt.Color,​java.awt.Font> model)
        Creates a TreeMap component with the its native data model.
        Parameters:
        model - a TreeMapModel
      • SwingTreeMap

        public SwingTreeMap​(javax.swing.table.TableModel tableModel)
        Creates a TreeMap component with the specified Swing TableModel.
        Parameters:
        tableModel - a Swing TableModel
      • SwingTreeMap

        public SwingTreeMap​(com.macrofocus.molap.dataframe.DataFrame<Row,​Column,​?> dataFrame)
        Creates a TreeMap component with the specified Swing TableModel.
        Parameters:
        dataFrame - a DataFrame
    • Method Detail

      • setLicenseKey

        public static void setLicenseKey​(java.lang.String username,
                                         java.lang.String key)
        Register the license key that legally entitle the use of TreeMap. This should be called prior to the first instantiation of this component.
        Parameters:
        username - the user name
        key - the license key
      • createTreeMapModel

        protected TreeMapModel<N,​Row,​Column,​java.awt.Color,​java.awt.Font> createTreeMapModel​(com.macrofocus.molap.dataframe.DataFrame<Row,​Column,​?> dataFrame)
      • createView

        protected TreeMapView<javax.swing.JComponent,​N,​Row,​Column,​java.awt.Color,​java.awt.Font> createView()
      • createController

        protected TreeMapController<javax.swing.JComponent,​N,​Row,​Column,​java.awt.Color,​java.awt.Font> createController​(TreeMapView<javax.swing.JComponent,​N,​Row,​Column,​java.awt.Color,​java.awt.Font> view)
      • getNativeComponent

        public javax.swing.JComponent getNativeComponent()
      • main

        public static void main​(java.lang.String[] args)
        Sort of a Hello World! application to demonstrate the most basic use of the TreeMap API