/******************************************************************* Copyright (c) 2001-2010 Apprisant Technologies Inc. All rights reserved. Apprisant Technologies permits non-exclusive royalty free use, copying and modification of this demo program source code for the purposes of evaluating the Apprisant Toolkit or building applications that use it. This software and documentation is provided "AS IS". APPRISANT TECHNOLOGIES DISCLAIMS ANY REPRESENTATIONS AND WARRANTIES, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTY OF MERCHANTABILITY AND FITNESS OF THIS PRODUCT FOR ANY PARTICULAR PURPOSE. APPRISANT TECHNOLOGIES SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY ANY PARTY, INCLUDING LOST PROFITS, ARISING FROM THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ITS DERIVATIONS. ********************************************************************/ package show; import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; import java.net.URL; import java.util.*; import apprisant.diagram.*; import apprisant.diagram.data.*; import apprisant.diagram.env.*; import apprisant.diagram.io.ImageMap; /* Main class for the Show demo. Assembles the user interface and diagram components. The background image shows the hall layout. Display elements are read from an image map which was created from the background image. */ public class Show extends JApplet { public Show() { super(); } public void init () { setLayout(new GridLayout(2, 1)); try { // Properties file sets rendering hints AGEnvironment.loadProperties("show/show.properties"); // Create a diagram Diagram diagram = new Diagram("Show"); diagram.setBackground(Color.white); diagram.setScrollSelected(true); // Selection model DiagramSelectionModel selModel = diagram.getSelectionModel(); selModel.setSelectionMode(SelectionParams.SINGLE); // Background image diagram.setBackgroundImagePath("show/hall.png"); // Renderers diagram.readRenderers("show/show.rdr"); // Display elements from an HTML image map KeyModel model = (KeyModel) diagram.getModel(); model.add(new ImageMap().read("show/booths.html", "booths")); // Table ShowTable table = new ShowTable(); // Data Model ShowData dataModel = new ShowData(); table.setModel(dataModel); // TableModelAdapter TableModelAdapter adapter = new TableModelAdapter(); adapter.setTableModel(dataModel); adapter.setKeyColumn(1); adapter.syncSelection(table, diagram); diagram.setDataModel(adapter); // Propagate the data dataModel.startShowDemo(); // Add the components to the applet add(new JScrollPane(diagram)); add(new JScrollPane(table)); } catch (Exception ie) { AGLog.log("Show", "init", AGLog.ERROR, ie); return; } } public static void main (String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JApplet applet = new Show(); applet.init(); JFrame frame = new JFrame("Show Demo"); frame.setLocation(100, 100); frame.setSize(500, 500); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(applet, BorderLayout.CENTER); frame.setVisible (true); } }); } }