Source code: plugins/CsBeagle/ServerInfo.java
1 package plugins.CsBeagle;
2
3
4 /**
5 * Title:
6 * Description:
7 * Copyright: Copyright (c) 2001
8 * Company:
9 * @author
10 * @version 1.0
11 */
12 import java.awt.*;
13 import java.awt.event.*;
14 import javax.swing.border.*;
15 import javax.swing.*;
16 import java.util.Vector;
17 import javax.swing.JTable;
18 import javax.swing.table.AbstractTableModel;
19 import javax.swing.table.TableColumn;
20
21
22
23 public class ServerInfo extends JDialog {
24 PlayerTableModel playerTableModel = new PlayerTableModel();
25 JTable playerTable = new JTable(playerTableModel);
26 Server server;
27 JScrollPane scrollPane1 = new JScrollPane();
28 JPanel panel1 = new JPanel();
29 JLabel jLabel1 = new JLabel();
30 JTextField jServer = new JTextField();
31 JLabel jLabel2 = new JLabel();
32 JTextField jMap = new JTextField();
33 JPanel jPanel1 = new JPanel();
34 JPanel jPanel2 = new JPanel();
35 FlowLayout flowLayout1 = new FlowLayout();
36 GridLayout gridLayout1 = new GridLayout();
37 GridLayout gridLayout2 = new GridLayout();
38 JLabel jLabel3 = new JLabel();
39 JTextField jIP = new JTextField();
40 JLabel jLabel4 = new JLabel();
41 JTextField jPlayers = new JTextField();
42
43 public ServerInfo(Frame parent,Server server) {
44 super(parent);
45 this.server = server;
46 jServer.setText(server.getName());
47 jMap.setText(server.getMap());
48 jIP.setText(server.getIp() + ":" + server.getPort());
49 jPlayers.setText(server.getPlayersCount() + "/" + (server.getPlayersCount() + server.getPublic_slot_free()));
50 playerTableModel.data = server.getPlayers();
51 // enableEvents(AWTEvent.WINDOW_EVENT_MASK);
52 try {
53 jbInit();
54 }
55 catch(Exception e) {
56 e.printStackTrace();
57 }
58 pack();
59 }
60 /**Component initialization*/
61 private void jbInit() throws Exception {
62 //imageLabel.setIcon(new ImageIcon(BfDialog_AboutBox.class.getResource("[Your Image]")));
63 this.setTitle("ServerInfo");
64 scrollPane1.setPreferredSize(new Dimension(300, 250));
65 jLabel1.setMaximumSize(new Dimension(35, 21));
66 jLabel1.setMinimumSize(new Dimension(35, 21));
67 jLabel1.setPreferredSize(new Dimension(35, 21));
68 jLabel1.setText("Server");
69 panel1.setLayout(flowLayout1);
70 jLabel2.setToolTipText("");
71 jLabel2.setText("Map");
72 jMap.setEditable(false);
73 jServer.setEditable(false);
74 flowLayout1.setAlignment(FlowLayout.LEFT);
75 jPanel1.setLayout(gridLayout1);
76 gridLayout1.setRows(4);
77 gridLayout1.setColumns(1);
78 jPanel2.setLayout(gridLayout2);
79 gridLayout2.setRows(4);
80 gridLayout2.setColumns(1);
81 jLabel3.setText("IP");
82 jLabel4.setText("Players");
83 scrollPane1.setBorder(new TitledBorder("Players"));
84 jIP.setEditable(false);
85 jPlayers.setEditable(false);
86 jPanel1.add(jLabel1, null);
87 jPanel1.add(jLabel3, null);
88 jPanel1.add(jLabel2, null);
89 panel1.add(jPanel1, null);
90 panel1.add(jPanel2, null);
91 jPanel2.add(jServer, null);
92 jPanel2.add(jIP, null);
93 jPanel2.add(jMap, null);
94 this.getContentPane().add(scrollPane1, BorderLayout.CENTER);
95 this.getContentPane().add(panel1, BorderLayout.NORTH);
96 jPanel1.add(jLabel4, null);
97 jPanel2.add(jPlayers, null);
98 scrollPane1.getViewport().setView(playerTable);
99
100 TableColumn column = null;
101 for (int i = 0; i < 2; i++) {
102 column = playerTable.getColumnModel().getColumn(i);
103 if (i == 0) {
104 column.setPreferredWidth(210);
105 } else {
106 column.setPreferredWidth(40);
107 }
108 }
109
110
111 }
112
113 class PlayerTableModel extends AbstractTableModel {
114 final String[] columnNames = {"Name",
115 "Frags"};
116 Vector data = new Vector();
117
118 public int getColumnCount() {
119 return columnNames.length;
120 }
121
122 public int getRowCount() {
123 return data.size();
124 }
125
126 public String getColumnName(int col) {
127 return columnNames[col];
128 }
129
130 public Object getValueAt(int row, int col) {
131 Player player = (Player) data.get(row);
132 switch (col) {
133 case 0: return player.getName();
134 case 1: return (new Integer((int)player.getFrags())).toString();
135 }
136 return new String();
137 }
138
139 }
140
141 }