Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: plugins/EventBrowser/EventBrowserFrame.java


1   /*
2    * EventBrowserFrame.java
3    *
4    * Created on November 12, 2002, 1:03 PM
5    */
6   
7   package plugins.EventBrowser;
8   
9   import dexter.core.Dexter;
10  import dexter.swingExtensions.sortedTable.JSortableTable;
11  import dexter.events.Action;
12  import dexter.events.Event;
13  
14  /**
15   *
16   * @author  Tobias Riemer
17   */
18  public class EventBrowserFrame extends javax.swing.JFrame {
19      
20      protected java.util.Vector events = new java.util.Vector();
21      protected plugins.EventBrowser.EventBrowserFrame.EventTableModel eventTableModel = new plugins.EventBrowser.EventBrowserFrame.EventTableModel();
22      protected JSortableTable jEventTable = new JSortableTable(eventTableModel, 1, true);
23      
24      protected plugins.EventBrowser.EventBrowserFrame.ActionTableModel actionTableModel = new plugins.EventBrowser.EventBrowserFrame.ActionTableModel();
25      protected JSortableTable jActionTable = new JSortableTable(actionTableModel, 1, true);
26      
27      /** Creates new form EventBrowserFrame */
28      public EventBrowserFrame() {
29          initComponents();
30          jActionTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
31          jActionTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
32          
33          jScrollPane1.getViewport().setView(jActionTable);
34          
35          jEventTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
36          jEventTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
37          
38          jScrollPane2.getViewport().setView(jEventTable);
39          
40          javax.swing.table.TableColumn column = null;
41          for (int i = 0; i < jActionTable.getColumnCount(); i++) {
42              column = jActionTable.getColumnModel().getColumn(i);
43              if (i == 0) {
44                  column.setPreferredWidth(200);
45              } else {
46                  column.setPreferredWidth(40);
47              }
48          }
49          
50          column = null;
51          for (int i = 0; i < jEventTable.getColumnCount(); i++) {
52              column = jEventTable.getColumnModel().getColumn(i);
53              column.setPreferredWidth(200);
54          }
55          
56          java.util.HashMap hm = Dexter.getInstance().getEventDispatcher().getActions();
57          java.util.Iterator it = hm.values().iterator();
58          Action action = null;
59          while (it.hasNext()) {
60              action = (Action) it.next();
61              Dexter.getInstance().getEventDispatcher().addActionListener(action.getName(),
62              new dexter.events.ActionListener() {
63                  public void actionPerformed(Event event) {
64                      addEvent(event);
65                  }
66              });
67              
68          }
69      }
70      
71      private void addEvent(Event event) {
72          events.add(event);
73          eventTableModel.fireTableDataChanged();
74      }
75      
76      /** This method is called from within the constructor to
77       * initialize the form.
78       * WARNING: Do NOT modify this code. The content of this method is
79       * always regenerated by the Form Editor.
80       */
81      private void initComponents() {//GEN-BEGIN:initComponents
82          jSplitPane1 = new javax.swing.JSplitPane();
83          jScrollPane1 = new javax.swing.JScrollPane();
84          jScrollPane2 = new javax.swing.JScrollPane();
85  
86          setTitle("Event Browser");
87          addWindowListener(new java.awt.event.WindowAdapter() {
88              public void windowClosing(java.awt.event.WindowEvent evt) {
89                  exitForm(evt);
90              }
91          });
92  
93          jSplitPane1.setDividerLocation(200);
94          jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
95          jScrollPane1.setPreferredSize(new java.awt.Dimension(600, 400));
96          jSplitPane1.setLeftComponent(jScrollPane1);
97  
98          jSplitPane1.setRightComponent(jScrollPane2);
99  
100         getContentPane().add(jSplitPane1, java.awt.BorderLayout.NORTH);
101 
102         pack();
103         java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
104         setSize(new java.awt.Dimension(400, 300));
105         setLocation((screenSize.width-400)/2,(screenSize.height-300)/2);
106     }//GEN-END:initComponents
107     
108     /** Exit the Application */
109     private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
110         System.exit(0);
111     }//GEN-LAST:event_exitForm
112     
113     /**
114      * @param args the command line arguments
115      */
116     public static void main(String args[]) {
117         //new EventBrowserFrame().show();
118         java.awt.Font[] fonts = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
119         for(int i=0;i<fonts.length;i++) System.out.println(fonts[i]);
120     }
121     
122     class EventTableModel extends javax.swing.table.AbstractTableModel {
123         final String[] columnNames = {"Action", "Source", "Paramenter"};
124         
125         public int getColumnCount() {
126             return columnNames.length;
127         }
128         
129         public int getRowCount() {
130             return events.size();
131         }
132         
133         public String getColumnName(int col) {
134             return columnNames[col];
135         }
136         
137         public Object getValueAt(int row, int col) {
138             
139             if (row >= events.size()) return "";
140             Event event = (Event) events.get(row);
141             
142             switch (col) {
143                 case 0: return event.getAction().getName();
144                 case 1: return event.getSource();
145                 case 2: return event.getValue();
146             }
147             return new String();
148         }
149         
150     }
151     
152     class ActionTableModel extends javax.swing.table.AbstractTableModel {
153         final String[] columnNames = {"Action"};
154         
155         public int getColumnCount() {
156             return columnNames.length;
157         }
158         
159         public int getRowCount() {
160             return Dexter.getInstance().getEventDispatcher().getActions().size();
161         }
162         
163         public String getColumnName(int col) {
164             return columnNames[col];
165         }
166         
167         public Object getValueAt(int row, int col) {
168             
169             java.util.HashMap hm = Dexter.getInstance().getEventDispatcher().getActions();
170             java.util.Iterator it = hm.values().iterator();
171             Action action = (Action) it.next();
172             for (int i=0;i<row;i++) {
173                 action = (Action) it.next();
174             }
175             if (action == null) return "";
176             switch (col) {
177                 case 0: return action.getName();
178             }
179             return new String();
180         }
181         
182     }
183     
184     // Variables declaration - do not modify//GEN-BEGIN:variables
185     private javax.swing.JScrollPane jScrollPane1;
186     private javax.swing.JSplitPane jSplitPane1;
187     private javax.swing.JScrollPane jScrollPane2;
188     // End of variables declaration//GEN-END:variables
189     
190 }