View Javadoc

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.ServerWorkstationTableModel;
29  import ui.util.IntegerEditor;
30  import base.network.WorkstationRoleType;
31  import base.network.WorkstationType;
32  
33  @SuppressWarnings("serial") //$NON-NLS-1$
34  public class ServerWorkstationTable extends JTable {
35  	/***
36  	 * @param workstationTableSorter
37  	 */
38  	public ServerWorkstationTable(TableSorter workstationTableSorter) {
39  		super(workstationTableSorter);
40  		initialize();
41  	}
42  
43  	protected void initialize() {
44  		this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
45  		TableColumn idColumn = this.getColumnModel().getColumn(
46  				ServerWorkstationTableModel.WORKSTATION_ID_COLUMN);
47  		idColumn.setPreferredWidth(30);
48  		idColumn.setMaxWidth(60);
49  		TableColumn typeColumn = this.getColumnModel().getColumn(
50  				ServerWorkstationTableModel.WORKSTATION_TYPE_COLUMN);
51  		DefaultCellEditor typeCellEditor = new DefaultCellEditor(
52  				getWorkstationTypeComboBox());
53  		typeCellEditor.setClickCountToStart(2);
54  		typeColumn.setCellEditor(typeCellEditor);
55  
56  		TableColumn portColumn = this.getColumnModel().getColumn(
57  				ServerWorkstationTableModel.WORKSTATION_PORT_COLUMN);
58  		portColumn.setPreferredWidth(30);
59  		IntegerEditor portCellEditor = new IntegerEditor(1024, 65000);
60  		portCellEditor.setClickCountToStart(2);
61  		portColumn.setCellEditor(portCellEditor);
62  		TableColumn roleColumn = this.getColumnModel().getColumn(
63  				ServerWorkstationTableModel.WORKSTATION_ROLE_COLUMN);
64  		DefaultCellEditor roleCellEditor = new DefaultCellEditor(
65  				getWorkstationRoleTypeComboBox());
66  		roleCellEditor.setClickCountToStart(2);
67  		roleColumn.setCellEditor(roleCellEditor);
68  	}
69  
70  	private JComboBox getWorkstationTypeComboBox() {
71  		JComboBox comboBox = new JComboBox();
72  		for (int i = 0; i < WorkstationType.WORKSTATION_TYPE.length; i++)
73  			comboBox.addItem(WorkstationType.WORKSTATION_TYPE[i]);
74  		return comboBox;
75  	}
76  
77  	private JComboBox getWorkstationRoleTypeComboBox() {
78  		JComboBox comboBox = new JComboBox();
79  		for (int i = 0; i < WorkstationRoleType.SERVER.length; i++)
80  			comboBox.addItem(WorkstationRoleType.SERVER[i]);
81  		return comboBox;
82  	}
83  
84  }