1 /********************************************************************************
2 * InternetCafe is a software solution that helps the management of Cybercafes
3 * according with the ITALIAN DECREE LAW ON ANTI-TERROR MEASURES, 27 JULY 2005.
4 * Copyright (C) 2006 Guido Angelo Ingenito
5
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 *******************************************************************************/
20 package ui.table;
21
22 import javax.swing.DefaultCellEditor;
23 import javax.swing.JComboBox;
24 import javax.swing.JTable;
25 import javax.swing.ListSelectionModel;
26 import javax.swing.table.TableColumn;
27
28 import ui.table.model.ClientWorkstationTableModel;
29 import ui.util.IntegerEditor;
30 import base.network.WorkstationType;
31
32 @SuppressWarnings("serial")
33 public class ClientWorkstationTable extends JTable {
34 /***
35 * @param workstationTableSorter
36 */
37 public ClientWorkstationTable(TableSorter workstationTableSorter) {
38 super(workstationTableSorter);
39 initialize();
40 }
41
42 protected void initialize() {
43 this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
44 TableColumn idColumn = this.getColumnModel().getColumn(
45 ClientWorkstationTableModel.WORKSTATION_ID_COLUMN);
46 idColumn.setPreferredWidth(30);
47 idColumn.setMaxWidth(60);
48 TableColumn typeColumn = this.getColumnModel().getColumn(
49 ClientWorkstationTableModel.WORKSTATION_TYPE_COLUMN);
50 DefaultCellEditor typeCellEditor = new DefaultCellEditor(
51 getWorkstationTypeComboBox());
52 typeCellEditor.setClickCountToStart(2);
53 typeColumn.setCellEditor(typeCellEditor);
54
55 TableColumn portColumn = this.getColumnModel().getColumn(
56 ClientWorkstationTableModel.WORKSTATION_PORT_COLUMN);
57 portColumn.setPreferredWidth(30);
58 IntegerEditor portCellEditor = new IntegerEditor(1024, 65000);
59 portCellEditor.setClickCountToStart(2);
60 portColumn.setCellEditor(portCellEditor);
61
62 TableColumn inUseColumn = this.getColumnModel().getColumn(
63 ClientWorkstationTableModel.WORKSTATION_IN_USE_COLUMN);
64 inUseColumn.setPreferredWidth(50);
65 inUseColumn.setMaxWidth(50);
66
67 }
68
69 private JComboBox getWorkstationTypeComboBox() {
70 JComboBox comboBox = new JComboBox();
71 for (int i = 0; i < WorkstationType.WORKSTATION_TYPE.length; i++)
72 comboBox.addItem(WorkstationType.WORKSTATION_TYPE[i]);
73 return comboBox;
74 }
75
76 }