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

Quick Search    Search Deep

Source code: plugins/CsBeagle/ServerInfoDlg.java


1   /*
2    * ServerInfoDlg.java
3    *
4    * Created on October 26, 2002, 6:49 PM
5    */
6   
7   package plugins.CsBeagle;
8   
9   import java.awt.*;
10  import java.awt.event.*;
11  import javax.swing.border.*;
12  import javax.swing.*;
13  import java.util.Vector;
14  import javax.swing.JTable;
15  import javax.swing.table.AbstractTableModel;
16  import javax.swing.table.TableColumn;
17  import javax.swing.JPopupMenu;
18  import javax.swing.JMenu;
19  import javax.swing.JMenuItem;
20  import dexter.property.*;
21  import dexter.swingExtensions.sortedTable.*;
22  /**
23   *
24   * @author  Tobias Riemer
25   */
26  public class ServerInfoDlg extends javax.swing.JFrame {
27          
28      protected JPopupMenu popup = new JPopupMenu();
29      protected Server server;
30      protected Property pBuddies;
31      protected PlayerTableModel playerTableModel = new PlayerTableModel();
32      protected JSortableTable jPlayerTable = new JSortableTable(playerTableModel, 1, true);
33      
34      /** Creates new form ServerInfoDlg */
35  
36      public ServerInfoDlg(javax.swing.ImageIcon icon, Property pBuddies) {
37          super();
38          this.setIconImage(icon.getImage());
39          this.pBuddies = pBuddies;
40          initComponents();
41                                 
42          jPlayerTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
43          jPlayerTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);        
44          
45          jScrollPane1.getViewport().setView(jPlayerTable);
46      
47          
48          TableColumn column = null;
49          for (int i = 0; i < 2; i++) {
50              column = jPlayerTable.getColumnModel().getColumn(i);
51              if (i == 0) {
52                  column.setPreferredWidth(210);
53              } else {
54                  column.setPreferredWidth(40);
55              }
56          }
57          JMenuItem menuItem = new JMenuItem("Add To CsBeagle");
58          menuItem.addActionListener(new java.awt.event.ActionListener() {
59              public void actionPerformed(java.awt.event.ActionEvent evt) {
60                  addToCsBeagle();
61              }
62          });
63          popup.add(menuItem);
64          jPlayerTable.addMouseListener(new PlayerMouseListener());
65      }
66         
67      
68      /** This method is called from within the constructor to
69       * initialize the form.
70       * WARNING: Do NOT modify this code. The content of this method is
71       * always regenerated by the Form Editor.
72       */
73      private void initComponents() {//GEN-BEGIN:initComponents
74          java.awt.GridBagConstraints gridBagConstraints;
75  
76          jScrollPane1 = new javax.swing.JScrollPane();
77          jPanel11 = new javax.swing.JPanel();
78          jLabel1 = new javax.swing.JLabel();
79          jLabel2 = new javax.swing.JLabel();
80          jLabel3 = new javax.swing.JLabel();
81          jServerName = new javax.swing.JTextField();
82          jIP = new javax.swing.JTextField();
83          jMap = new javax.swing.JTextField();
84          jLabel4 = new javax.swing.JLabel();
85          jPort = new javax.swing.JTextField();
86          jPanel1 = new javax.swing.JPanel();
87          jRefresh = new javax.swing.JButton();
88  
89          addWindowListener(new java.awt.event.WindowAdapter() {
90              public void windowClosing(java.awt.event.WindowEvent evt) {
91                  closeDialog(evt);
92              }
93          });
94  
95          jScrollPane1.setPreferredSize(new java.awt.Dimension(300, 250));
96          getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
97  
98          jPanel11.setLayout(new java.awt.GridBagLayout());
99  
100         jPanel11.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(1, 1, 1, 10)));
101         jLabel1.setText("Name");
102         gridBagConstraints = new java.awt.GridBagConstraints();
103         gridBagConstraints.gridx = 0;
104         gridBagConstraints.gridy = 0;
105         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
106         gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 10);
107         jPanel11.add(jLabel1, gridBagConstraints);
108 
109         jLabel2.setText("IP");
110         gridBagConstraints = new java.awt.GridBagConstraints();
111         gridBagConstraints.gridx = 0;
112         gridBagConstraints.gridy = 1;
113         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
114         jPanel11.add(jLabel2, gridBagConstraints);
115 
116         jLabel3.setText("Map");
117         gridBagConstraints = new java.awt.GridBagConstraints();
118         gridBagConstraints.gridx = 0;
119         gridBagConstraints.gridy = 2;
120         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
121         jPanel11.add(jLabel3, gridBagConstraints);
122 
123         jServerName.setColumns(20);
124         jServerName.setEditable(false);
125         gridBagConstraints = new java.awt.GridBagConstraints();
126         gridBagConstraints.gridx = 1;
127         gridBagConstraints.gridy = 0;
128         jPanel11.add(jServerName, gridBagConstraints);
129 
130         jIP.setColumns(20);
131         jIP.setEditable(false);
132         gridBagConstraints = new java.awt.GridBagConstraints();
133         gridBagConstraints.gridx = 1;
134         gridBagConstraints.gridy = 1;
135         jPanel11.add(jIP, gridBagConstraints);
136 
137         jMap.setColumns(20);
138         jMap.setEditable(false);
139         gridBagConstraints = new java.awt.GridBagConstraints();
140         gridBagConstraints.gridx = 1;
141         gridBagConstraints.gridy = 2;
142         jPanel11.add(jMap, gridBagConstraints);
143 
144         jLabel4.setText("Port");
145         gridBagConstraints = new java.awt.GridBagConstraints();
146         gridBagConstraints.gridx = 0;
147         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
148         jPanel11.add(jLabel4, gridBagConstraints);
149 
150         jPort.setEditable(false);
151         gridBagConstraints = new java.awt.GridBagConstraints();
152         gridBagConstraints.gridx = 1;
153         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
154         jPanel11.add(jPort, gridBagConstraints);
155 
156         getContentPane().add(jPanel11, java.awt.BorderLayout.NORTH);
157 
158         jPanel1.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));
159 
160         jRefresh.setText("Refresh");
161         jRefresh.addActionListener(new java.awt.event.ActionListener() {
162             public void actionPerformed(java.awt.event.ActionEvent evt) {
163                 jRefreshActionPerformed(evt);
164             }
165         });
166 
167         jPanel1.add(jRefresh);
168 
169         getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH);
170 
171         pack();
172     }//GEN-END:initComponents
173     
174     private void jRefreshActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRefreshActionPerformed
175         // Add your handling code here:
176         server.getData();
177         refresh();
178     }//GEN-LAST:event_jRefreshActionPerformed
179     
180     /** Closes the dialog */
181     private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
182         setVisible(false);
183         dispose();
184     }//GEN-LAST:event_closeDialog
185     
186     
187     public void addToCsBeagle() {
188         for(int i=0;i<jPlayerTable.getSelectedRows().length;i++) {
189             Vector v = pBuddies.getVector();
190             v.add(new Buddy(((Player)server.getPlayer(jPlayerTable.getSelectedRows()[i])).getName()));
191             pBuddies.setValue(v);
192             pBuddies.commitValue();
193         }
194     }
195     
196     /**
197      * @param args the command line arguments
198      */
199     public static void main(String args[]) {
200         Property p = new Property("Buddies",Property.VECTOR_VALUE);
201         p.setVector(new Vector());
202         //new ServerInfoDlg(new javax.swing.I, true, p).show();
203     }
204     
205     /** Getter for property server.
206      * @return Value of property server.
207      */
208     public plugins.CsBeagle.Server getServer() {
209         return server;
210     }
211     
212     /** Setter for property server.
213      * @param server New value of property server.
214      */
215     public void setServer(plugins.CsBeagle.Server server) {
216         this.server = server;
217         refresh();
218     }
219     
220     public void refresh() {
221         setTitle("Server: " + server.getName());
222         jIP.setText(server.getIp());
223         jServerName.setText(server.getName());
224         jPort.setText(Integer.toString(server.getPort()));
225         jServerName.setCaretPosition(0);
226         jMap.setText(server.getMap());
227         playerTableModel.fireTableDataChanged();
228     }
229     
230     class PlayerTableModel extends AbstractTableModel {
231         final String[] columnNames = {"Name",
232         "Frags"};
233         
234         public int getColumnCount() {
235             return columnNames.length;
236         }
237         
238         public int getRowCount() {
239             if (server != null)
240                 return server.getPlayers().size();
241             return 0;
242         }
243         
244         public String getColumnName(int col) {
245             return columnNames[col];
246         }
247         
248         public Object getValueAt(int row, int col) {
249             Player player = (Player) server.getPlayers().get(row);
250             switch (col) {
251                 case 0: return player.getName();
252                 case 1: return (new Integer((int)player.getFrags()));
253             }
254             return new String();
255         }
256         
257     }
258     
259     class PlayerMouseListener extends MouseAdapter {
260         
261         public void mouseClicked(MouseEvent e) {
262             if (e.getClickCount() > 1) {
263                 if (jPlayerTable.getSelectedRow() >= 0) {
264                     
265                 }
266             }
267         }
268         
269         public void mousePressed(MouseEvent e) {
270             maybeShowPopup(e);
271         }
272         
273         public void mouseReleased(MouseEvent e) {
274             maybeShowPopup(e);
275         }
276         
277         private void maybeShowPopup(MouseEvent e) {
278             if (e.isPopupTrigger()) {
279                 if (popup!=null) popup.show(e.getComponent(), e.getX(), e.getY());                
280             }
281         }
282     }
283     
284     
285     
286     
287     // Variables declaration - do not modify//GEN-BEGIN:variables
288     private javax.swing.JLabel jLabel4;
289     private javax.swing.JScrollPane jScrollPane1;
290     private javax.swing.JLabel jLabel1;
291     private javax.swing.JLabel jLabel3;
292     private javax.swing.JTextField jPort;
293     private javax.swing.JTextField jServerName;
294     private javax.swing.JLabel jLabel2;
295     private javax.swing.JButton jRefresh;
296     private javax.swing.JPanel jPanel11;
297     private javax.swing.JTextField jIP;
298     private javax.swing.JPanel jPanel1;
299     private javax.swing.JTextField jMap;
300     // End of variables declaration//GEN-END:variables
301     
302 }