38 |
|
|
39 |
package javax.swing; |
package javax.swing; |
40 |
|
|
41 |
|
import java.awt.Color; |
42 |
import java.awt.Dimension; |
import java.awt.Dimension; |
43 |
import java.awt.Rectangle; |
import java.awt.Rectangle; |
44 |
import java.util.Vector; |
import java.util.Vector; |
45 |
|
import java.util.Hashtable; |
46 |
|
|
47 |
import javax.accessibility.Accessible; |
import javax.accessibility.Accessible; |
48 |
import javax.swing.event.CellEditorListener; |
import javax.swing.event.CellEditorListener; |
53 |
import javax.swing.event.TableColumnModelListener; |
import javax.swing.event.TableColumnModelListener; |
54 |
import javax.swing.event.TableModelEvent; |
import javax.swing.event.TableModelEvent; |
55 |
import javax.swing.event.TableModelListener; |
import javax.swing.event.TableModelListener; |
56 |
|
import javax.swing.table.DefaultTableColumnModel; |
57 |
|
import javax.swing.table.DefaultTableModel; |
58 |
|
import javax.swing.table.JTableHeader; |
59 |
|
import javax.swing.table.TableCellEditor; |
60 |
|
import javax.swing.table.TableCellRenderer; |
61 |
import javax.swing.table.TableColumnModel; |
import javax.swing.table.TableColumnModel; |
62 |
import javax.swing.table.TableModel; |
import javax.swing.table.TableModel; |
63 |
|
|
73 |
public static final int AUTO_RESIZE_OFF = 0; |
public static final int AUTO_RESIZE_OFF = 0; |
74 |
public static final int AUTO_RESIZE_SUBSEQUENT_COLUMNS = 2; |
public static final int AUTO_RESIZE_SUBSEQUENT_COLUMNS = 2; |
75 |
|
|
76 |
|
protected boolean autoCreateColumnsFromModel; |
77 |
|
protected int autoResizeMode; |
78 |
|
protected TableCellEditor cellEditor; |
79 |
|
protected boolean cellSelectionEnabled; |
80 |
|
protected TableColumnModel columnModel; |
81 |
|
protected TableModel dataModel; |
82 |
|
protected Hashtable defaultEditorsByColumnClass; |
83 |
|
protected Hashtable defaultRenderersByColumnClass; |
84 |
|
protected int editingColumn; |
85 |
|
protected int editingRow; |
86 |
|
protected Color gridColor; |
87 |
|
protected Dimension preferredViewportSize; |
88 |
|
protected int rowHeight; |
89 |
|
protected int rowMargin; |
90 |
|
protected boolean rowSelectionAllowed; |
91 |
|
protected Color selectionBackground; |
92 |
|
protected Color selectionForeground; |
93 |
|
protected ListSelectionModel selectionModel; |
94 |
|
protected boolean showHorizontalLines; |
95 |
|
protected boolean showVerticalLines; |
96 |
|
protected JTableHeader tableHeader; |
97 |
|
|
98 |
|
/** |
99 |
|
* Creates a new <code>JTable</code> instance. |
100 |
|
*/ |
101 |
public JTable () |
public JTable () |
102 |
{ |
{ |
103 |
throw new Error ("Not implemented"); |
this(null, null, null); |
104 |
} |
} |
105 |
|
|
106 |
|
/** |
107 |
|
* Creates a new <code>JTable</code> instance. |
108 |
|
* |
109 |
|
* @param numRows an <code>int</code> value |
110 |
|
* @param numColumns an <code>int</code> value |
111 |
|
*/ |
112 |
public JTable (int numRows, int numColumns) |
public JTable (int numRows, int numColumns) |
113 |
{ |
{ |
114 |
throw new Error ("Not implemented"); |
this(new DefaultTableModel(numRows, numColumns)); |
115 |
} |
} |
116 |
|
|
117 |
public JTable (Object[][] rowData, Object[] columnNames) |
/** |
118 |
|
* Creates a new <code>JTable</code> instance. |
119 |
|
* |
120 |
|
* @param data an <code>Object[][]</code> value |
121 |
|
* @param columnNames an <code>Object[]</code> value |
122 |
|
*/ |
123 |
|
public JTable(Object[][] data, Object[] columnNames) |
124 |
{ |
{ |
125 |
throw new Error ("Not implemented"); |
this(new DefaultTableModel(data, columnNames)); |
126 |
} |
} |
127 |
|
|
128 |
|
/** |
129 |
|
* Creates a new <code>JTable</code> instance. |
130 |
|
* |
131 |
|
* @param dm a <code>TableModel</code> value |
132 |
|
*/ |
133 |
public JTable (TableModel dm) |
public JTable (TableModel dm) |
134 |
{ |
{ |
135 |
throw new Error ("Not implemented"); |
this(dm, null, null); |
136 |
} |
} |
137 |
|
|
138 |
|
/** |
139 |
|
* Creates a new <code>JTable</code> instance. |
140 |
|
* |
141 |
|
* @param dm a <code>TableModel</code> value |
142 |
|
* @param cm a <code>TableColumnModel</code> value |
143 |
|
*/ |
144 |
public JTable (TableModel dm, TableColumnModel cm) |
public JTable (TableModel dm, TableColumnModel cm) |
145 |
{ |
{ |
146 |
throw new Error ("Not implemented"); |
this(dm, cm, null); |
147 |
} |
} |
148 |
|
|
149 |
|
/** |
150 |
|
* Creates a new <code>JTable</code> instance. |
151 |
|
* |
152 |
|
* @param dm a <code>TableModel</code> value |
153 |
|
* @param cm a <code>TableColumnModel</code> value |
154 |
|
* @param sm a <code>ListSelectionModel</code> value |
155 |
|
*/ |
156 |
public JTable (TableModel dm, TableColumnModel cm, ListSelectionModel sm) |
public JTable (TableModel dm, TableColumnModel cm, ListSelectionModel sm) |
157 |
{ |
{ |
158 |
throw new Error ("Not implemented"); |
this.dataModel = dm == null ? createDefaultDataModel() : dm; |
159 |
|
this.columnModel = cm == null ? createDefaultColumnModel() : cm; |
160 |
|
this.selectionModel = sm == null ? createDefaultListSelectionModel() : sm; |
161 |
} |
} |
162 |
|
|
163 |
public JTable (Vector rowData, Vector columnNames) |
/** |
164 |
|
* Creates a new <code>JTable</code> instance. |
165 |
|
* |
166 |
|
* @param data a <code>Vector</code> value |
167 |
|
* @param columnNames a <code>Vector</code> value |
168 |
|
*/ |
169 |
|
public JTable(Vector data, Vector columnNames) |
170 |
{ |
{ |
171 |
throw new Error ("Not implemented"); |
this(new DefaultTableModel(data, columnNames)); |
172 |
|
} |
173 |
|
|
174 |
|
/** |
175 |
|
* @deprecated 1.0.2, replaced by <code>new JScrollPane(JTable)</code> |
176 |
|
*/ |
177 |
|
public static JScrollPane createScrollPaneForTable(JTable table) |
178 |
|
{ |
179 |
|
return new JScrollPane(table); |
180 |
|
} |
181 |
|
|
182 |
|
public void clearSelection() |
183 |
|
{ |
184 |
|
selectionModel.clearSelection(); |
185 |
} |
} |
186 |
|
|
187 |
public void columnAdded (TableColumnModelEvent event) |
public void columnAdded (TableColumnModelEvent event) |
209 |
throw new Error ("Not implemented"); |
throw new Error ("Not implemented"); |
210 |
} |
} |
211 |
|
|
212 |
|
protected TableColumnModel createDefaultColumnModel() |
213 |
|
{ |
214 |
|
return new DefaultTableColumnModel(); |
215 |
|
} |
216 |
|
|
217 |
|
protected TableModel createDefaultDataModel() |
218 |
|
{ |
219 |
|
return new DefaultTableModel(); |
220 |
|
} |
221 |
|
|
222 |
|
protected ListSelectionModel createDefaultListSelectionModel() |
223 |
|
{ |
224 |
|
return new DefaultListSelectionModel(); |
225 |
|
} |
226 |
|
|
227 |
public void editingCanceled (ChangeEvent event) |
public void editingCanceled (ChangeEvent event) |
228 |
{ |
{ |
229 |
throw new Error ("Not implemented"); |
throw new Error ("Not implemented"); |
236 |
|
|
237 |
public TableColumnModel getColumnModel () |
public TableColumnModel getColumnModel () |
238 |
{ |
{ |
239 |
throw new Error ("Not implemented"); |
return columnModel; |
240 |
|
} |
241 |
|
|
242 |
|
public TableModel getModel() |
243 |
|
{ |
244 |
|
return dataModel; |
245 |
} |
} |
246 |
|
|
247 |
public Dimension getPreferredScrollableViewportSize () |
public Dimension getPreferredScrollableViewportSize () |
271 |
|
|
272 |
public int getSelectedRow () |
public int getSelectedRow () |
273 |
{ |
{ |
274 |
throw new Error ("Not implemented"); |
return selectionModel.getMinSelectionIndex(); |
275 |
} |
} |
276 |
|
|
277 |
public ListSelectionModel getSelectionModel () |
public ListSelectionModel getSelectionModel () |
278 |
{ |
{ |
279 |
throw new Error ("Not implemented"); |
if (! rowSelectionAllowed) |
280 |
|
return null; |
281 |
|
|
282 |
|
return selectionModel; |
283 |
} |
} |
284 |
|
|
285 |
public void tableChanged (TableModelEvent event) |
public void tableChanged (TableModelEvent event) |
289 |
|
|
290 |
public void setModel (TableModel model) |
public void setModel (TableModel model) |
291 |
{ |
{ |
292 |
throw new Error ("Not implemented"); |
if (model == null) |
293 |
|
throw new IllegalArgumentException(); |
294 |
|
|
295 |
|
// FIXME: Should we deregister from old model ? |
296 |
|
|
297 |
|
dataModel = model; |
298 |
|
dataModel.addTableModelListener(this); |
299 |
} |
} |
300 |
|
|
301 |
public void setSelectionMode (int selectionMode) |
public void setSelectionMode (int selectionMode) |
305 |
|
|
306 |
public void setSelectionModel (ListSelectionModel model) |
public void setSelectionModel (ListSelectionModel model) |
307 |
{ |
{ |
308 |
throw new Error ("Not implemented"); |
if (model == null) |
309 |
|
throw new IllegalArgumentException(); |
310 |
|
|
311 |
|
// FIXME: Should we deregister from old model ? |
312 |
|
|
313 |
|
selectionModel = model; |
314 |
|
selectionModel.addListSelectionListener(this); |
315 |
} |
} |
316 |
|
|
317 |
public void setShowGrid (boolean showGrid) |
public void setShowGrid (boolean showGrid) |
323 |
{ |
{ |
324 |
throw new Error ("Not implemented"); |
throw new Error ("Not implemented"); |
325 |
} |
} |
326 |
} // class JTable |
|
327 |
|
public JTableHeader getTableHeader() |
328 |
|
{ |
329 |
|
return tableHeader; |
330 |
|
} |
331 |
|
|
332 |
|
public void setTableHeader(JTableHeader newHeader) |
333 |
|
{ |
334 |
|
tableHeader = newHeader; |
335 |
|
} |
336 |
|
|
337 |
|
public boolean getColumnSelectionAllowed() |
338 |
|
{ |
339 |
|
return columnModel.getColumnSelectionAllowed(); |
340 |
|
} |
341 |
|
|
342 |
|
public void setColumnSelectionAllowed(boolean flag) |
343 |
|
{ |
344 |
|
columnModel.setColumnSelectionAllowed(flag); |
345 |
|
} |
346 |
|
|
347 |
|
public boolean getRowSelectionAllowed() |
348 |
|
{ |
349 |
|
return rowSelectionAllowed; |
350 |
|
} |
351 |
|
|
352 |
|
public void setRowSelectionAllowed(boolean flag) |
353 |
|
{ |
354 |
|
rowSelectionAllowed = flag; |
355 |
|
} |
356 |
|
|
357 |
|
public int getAutoResizeMode() |
358 |
|
{ |
359 |
|
return autoResizeMode; |
360 |
|
} |
361 |
|
|
362 |
|
public void setAutoResizeMode(int mode) |
363 |
|
{ |
364 |
|
autoResizeMode = mode; |
365 |
|
} |
366 |
|
|
367 |
|
public int getColumnCount() |
368 |
|
{ |
369 |
|
return dataModel.getColumnCount(); |
370 |
|
} |
371 |
|
|
372 |
|
public int getRowCount() |
373 |
|
{ |
374 |
|
return dataModel.getRowCount(); |
375 |
|
} |
376 |
|
|
377 |
|
public TableCellRenderer getCellRenderer(int row, int column) |
378 |
|
{ |
379 |
|
TableCellRenderer renderer = |
380 |
|
columnModel.getColumn(column).getCellRenderer(); |
381 |
|
|
382 |
|
if (renderer == null) |
383 |
|
renderer = getDefaultRenderer(dataModel.getColumnClass(column)); |
384 |
|
|
385 |
|
return renderer; |
386 |
|
} |
387 |
|
|
388 |
|
public TableCellRenderer getDefaultRenderer(Class columnClass) |
389 |
|
{ |
390 |
|
// FIXME: |
391 |
|
return null; |
392 |
|
} |
393 |
|
} |