OSDN Git Service

lejos_NXJ_win32_0_5_0beta.zip
[nxt-jsp/lejos_nxj.git] / nxtOSEK / lejos_nxj / src / java / pctools / lejos / pc / tools / NXTTableModel.java
1 package lejos.pc.tools;\r
2 \r
3 import javax.swing.JFrame;\r
4 import javax.swing.table.AbstractTableModel;\r
5 \r
6 import lejos.pc.comm.NXTCommFactory;\r
7 import lejos.pc.comm.NXTInfo;\r
8 \r
9 public class NXTTableModel extends AbstractTableModel {\r
10   private static final String[] columnNames = {"Name","Protocol", "Address"};\r
11   private static final int NUM_COLUMNS = 3;\r
12 \r
13   Object[][] nxtData;\r
14   int numNXTs;\r
15   JFrame frame;\r
16 \r
17   public NXTTableModel(JFrame frame, NXTInfo[] nxts, int numNXTs) {\r
18     this.frame = frame;\r
19     setData(nxts, numNXTs);\r
20   }\r
21 \r
22   public void setData(NXTInfo[] nxts, int numNXTs) {\r
23     this.numNXTs = numNXTs;\r
24     nxtData = new Object[numNXTs][NUM_COLUMNS];\r
25 \r
26     for(int i=0;i<numNXTs;i++) {\r
27       nxtData[i][0]  = nxts[i].name;\r
28       nxtData[i][1] = (nxts[i].protocol == NXTCommFactory.USB ? "USB" : "Bluetooth");\r
29       nxtData[i][2] = (nxts[i].btDeviceAddress == null ? "" : nxts[i].btDeviceAddress);\r
30     }\r
31   }\r
32 \r
33   public int getRowCount() {\r
34     return numNXTs;\r
35   }\r
36 \r
37   public int getColumnCount() {\r
38     return NUM_COLUMNS;\r
39   }\r
40 \r
41   public Object getValueAt(int row, int column) {\r
42     return nxtData[row][column];\r
43   }\r
44 \r
45   public String getColumnName(int column) {\r
46     return columnNames[column];\r
47   }\r
48 \r
49   public Class getColumnClass(int column) {\r
50     return nxtData[0][column].getClass();\r
51   }\r
52 }\r
53 \r
54 \r