This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[gu] Patch: javax.swing - JTable and JTree
- From: Michael Koch <konqueror at gmx dot de>
- To: java-patches at gcc dot gnu dot org
- Date: Tue, 20 Jul 2004 18:01:14 +0200
- Subject: [gu] Patch: javax.swing - JTable and JTree
--Boundary-00=_NHU/AKdOmA/v27f
Content-Type: text/plain;
charset="iso-8859-15"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi list,
I just commited the attached patch to implement some JTable and JTree
stuff. This will help Anthony Green to compile Jacorb in his
java-gnome effort. Some methods are still missing but not so much as
before.
Michael
2004-07-20 Michael Koch <konqueror@gmx.de>
* javax/swing/JTable.java
(autoCreateColumnsFromModel): New field.
(autoResizeMode): Likewise.
(cellEditor): Likewise.
(cellSelectionEnabled): Likewise.
(columnModel): Likewise.
(dataModel): Likewise.
(defaultEditorsByColumnClass): Likewise.
(defaultRenderersByColumnClass): Likewise.
(editingColumn): Likewise.
(editingRow): Likewise.
(gridColor): Likewise.
(preferredViewportSize): Likewise.
(rowHeight): Likewise.
(rowMargin): Likewise.
(rowSelectionAllowed): Likewise.
(selectionBackground): Likewise.
(selectionForeground): Likewise.
(selectionModel): Likewise.
(showHorizontalLines): Likewise.
(showVerticalLines): Likewise.
(tableHeader): Likewise.
(JTable): Implemented.
(getColumnModel): Likewise.
(getSelectedRow): Likewise.
(getSelectionModel): Likewise.
(setModel): Likewise.
(setSelectionModel): Likewise.
(createScrollPaneForTable): New method.
(createDefaultDataModel): Likewise.
(createDefaultListSelectionModel): Likewise.
(getModel): Likewise.
(getTableHeader): Likewise.
(setTableHeader): Likewise.
(getColumnSelectionAllowed): Likewise.
(setColumnSelectionAllowed): Likewise.
(getRowSelectionAllowed): Likewise.
(setRowSelectionAllowed): Likewise.
(getAutoResizeMode): Likewise.
(setAutoResizeMode): Likewise.
(getColumnCount): Likewise.
(getRowCount): Likewise.
(getCellRenderer): Likewise.
* javax/swing/JTree.java
(cellRenderer): New field.
(editable): Likewise.
(rootVisible): Likewise.
(showsRootHandles): Likewise.
(getModel): New method.
(setModel): Likewise.
(isEditable): Likewise.
(setEditable): Likewise.
(isRootVisbile): Likewise.
(setRootVisible): Likewise.
(getShowsRootHandles): Likewise.
(setShowRootHandles): Likewise.
(getCellRenderer): Likewise.
(setCellRenderer): Likewise.
--
Homepage: http://www.worldforge.org/
--Boundary-00=_NHU/AKdOmA/v27f
Content-Type: text/x-diff;
charset="iso-8859-15";
name="swing.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="swing.diff"
Index: javax/swing/JTable.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/JTable.java,v
retrieving revision 1.4.18.2
diff -u -b -B -r1.4.18.2 JTable.java
--- javax/swing/JTable.java 24 Jun 2004 05:31:32 -0000 1.4.18.2
+++ javax/swing/JTable.java 20 Jul 2004 15:55:50 -0000
@@ -38,8 +38,10 @@
package javax.swing;
+import java.awt.Color;
import java.awt.Dimension;
import java.awt.Rectangle;
+import java.util.Hashtable;
import java.util.Vector;
import javax.accessibility.Accessible;
@@ -51,6 +53,11 @@
import javax.swing.event.TableColumnModelListener;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
+import javax.swing.table.DefaultTableColumnModel;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.JTableHeader;
+import javax.swing.table.TableCellEditor;
+import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
@@ -66,39 +73,115 @@
public static final int AUTO_RESIZE_OFF = 0;
public static final int AUTO_RESIZE_SUBSEQUENT_COLUMNS = 2;
+ protected boolean autoCreateColumnsFromModel;
+ protected int autoResizeMode;
+ protected TableCellEditor cellEditor;
+ protected boolean cellSelectionEnabled;
+ protected TableColumnModel columnModel;
+ protected TableModel dataModel;
+ protected Hashtable defaultEditorsByColumnClass;
+ protected Hashtable defaultRenderersByColumnClass;
+ protected int editingColumn;
+ protected int editingRow;
+ protected Color gridColor;
+ protected Dimension preferredViewportSize;
+ protected int rowHeight;
+ protected int rowMargin;
+ protected boolean rowSelectionAllowed;
+ protected Color selectionBackground;
+ protected Color selectionForeground;
+ protected ListSelectionModel selectionModel;
+ protected boolean showHorizontalLines;
+ protected boolean showVerticalLines;
+ protected JTableHeader tableHeader;
+
+ /**
+ * Creates a new <code>JTable</code> instance.
+ */
public JTable ()
{
- throw new Error ("Not implemented");
+ this(null, null, null);
}
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param numRows an <code>int</code> value
+ * @param numColumns an <code>int</code> value
+ */
public JTable (int numRows, int numColumns)
{
- throw new Error ("Not implemented");
+ this(new DefaultTableModel(numRows, numColumns));
}
- public JTable (Object[][] rowData, Object[] columnNames)
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param data an <code>Object[][]</code> value
+ * @param columnNames an <code>Object[]</code> value
+ */
+ public JTable(Object[][] data, Object[] columnNames)
{
- throw new Error ("Not implemented");
+ this(new DefaultTableModel(data, columnNames));
}
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param dm a <code>TableModel</code> value
+ */
public JTable (TableModel dm)
{
- throw new Error ("Not implemented");
+ this(dm, null, null);
}
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param dm a <code>TableModel</code> value
+ * @param cm a <code>TableColumnModel</code> value
+ */
public JTable (TableModel dm, TableColumnModel cm)
{
- throw new Error ("Not implemented");
+ this(dm, cm, null);
}
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param dm a <code>TableModel</code> value
+ * @param cm a <code>TableColumnModel</code> value
+ * @param sm a <code>ListSelectionModel</code> value
+ */
public JTable (TableModel dm, TableColumnModel cm, ListSelectionModel sm)
{
- throw new Error ("Not implemented");
+ this.dataModel = dm == null ? createDefaultDataModel() : dm;
+ this.columnModel = cm == null ? createDefaultColumnModel() : cm;
+ this.selectionModel = sm == null ? createDefaultListSelectionModel() : sm;
}
- public JTable (Vector rowData, Vector columnNames)
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param data a <code>Vector</code> value
+ * @param columnNames a <code>Vector</code> value
+ */
+ public JTable(Vector data, Vector columnNames)
{
- throw new Error ("Not implemented");
+ this(new DefaultTableModel(data, columnNames));
+ }
+
+ /**
+ * @deprecated 1.0.2, replaced by <code>new JScrollPane(JTable)</code>
+ */
+ public static JScrollPane createScrollPaneForTable(JTable table)
+ {
+ return new JScrollPane(table);
+ }
+
+ public void clearSelection()
+ {
+ selectionModel.clearSelection();
}
public void columnAdded (TableColumnModelEvent event)
@@ -126,6 +209,21 @@
throw new Error ("Not implemented");
}
+ protected TableColumnModel createDefaultColumnModel()
+ {
+ return new DefaultTableColumnModel();
+ }
+
+ protected TableModel createDefaultDataModel()
+ {
+ return new DefaultTableModel();
+ }
+
+ protected ListSelectionModel createDefaultListSelectionModel()
+ {
+ return new DefaultListSelectionModel();
+ }
+
public void editingCanceled (ChangeEvent event)
{
throw new Error ("Not implemented");
@@ -138,7 +236,12 @@
public TableColumnModel getColumnModel ()
{
- throw new Error ("Not implemented");
+ return columnModel;
+ }
+
+ public TableModel getModel()
+ {
+ return dataModel;
}
public Dimension getPreferredScrollableViewportSize ()
@@ -168,12 +271,15 @@
public int getSelectedRow ()
{
- throw new Error ("Not implemented");
+ return selectionModel.getMinSelectionIndex();
}
public ListSelectionModel getSelectionModel ()
{
- throw new Error ("Not implemented");
+ if (! rowSelectionAllowed)
+ return null;
+
+ return selectionModel;
}
public void tableChanged (TableModelEvent event)
@@ -183,7 +289,13 @@
public void setModel (TableModel model)
{
- throw new Error ("Not implemented");
+ if (model == null)
+ throw new IllegalArgumentException();
+
+ // FIXME: Should we deregister from old model ?
+
+ dataModel = model;
+ dataModel.addTableModelListener(this);
}
public void setSelectionMode (int selectionMode)
@@ -193,7 +305,13 @@
public void setSelectionModel (ListSelectionModel model)
{
- throw new Error ("Not implemented");
+ if (model == null)
+ throw new IllegalArgumentException();
+
+ // FIXME: Should we deregister from old model ?
+
+ selectionModel = model;
+ selectionModel.addListSelectionListener(this);
}
public void setShowGrid (boolean showGrid)
@@ -205,4 +323,65 @@
{
throw new Error ("Not implemented");
}
-} // class JTable
+
+ public JTableHeader getTableHeader()
+ {
+ return tableHeader;
+ }
+
+ public void setTableHeader(JTableHeader newHeader)
+ {
+ tableHeader = newHeader;
+ }
+
+ public boolean getColumnSelectionAllowed()
+ {
+ return columnModel.getColumnSelectionAllowed();
+ }
+
+ public void setColumnSelectionAllowed(boolean flag)
+ {
+ columnModel.setColumnSelectionAllowed(flag);
+ }
+
+ public boolean getRowSelectionAllowed()
+ {
+ return rowSelectionAllowed;
+ }
+
+ public void setRowSelectionAllowed(boolean flag)
+ {
+ rowSelectionAllowed = flag;
+ }
+
+ public int getAutoResizeMode()
+ {
+ return autoResizeMode;
+ }
+
+ public void setAutoResizeMode(int mode)
+ {
+ autoResizeMode = mode;
+ }
+
+ public int getColumnCount()
+ {
+ return dataModel.getColumnCount();
+ }
+
+ public int getRowCount()
+ {
+ return dataModel.getRowCount();
+ }
+
+ public TableCellRenderer getCellRenderer(int row, int column)
+ {
+ TableCellRenderer renderer =
+ columnModel.getColumn(column).getCellRenderer();
+
+ if (renderer == null)
+ renderer = getDefaultRenderer(dataModel.getColumnClass(column));
+
+ return renderer;
+ }
+}
Index: javax/swing/JTree.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/JTree.java,v
retrieving revision 1.3.2.4
diff -u -b -B -r1.3.2.4 JTree.java
--- javax/swing/JTree.java 16 Jun 2004 09:15:35 -0000 1.3.2.4
+++ javax/swing/JTree.java 20 Jul 2004 15:55:50 -0000
@@ -50,6 +50,7 @@
import javax.swing.event.TreeWillExpandListener;
import javax.swing.plaf.TreeUI;
import javax.swing.tree.ExpandVetoException;
+import javax.swing.tree.TreeCellRenderer;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
@@ -60,6 +61,10 @@
{
private static final long serialVersionUID = 7559816092864483649L;
+ protected TreeCellRenderer cellRenderer;
+ protected boolean editable;
+ protected boolean rootVisible;
+ protected boolean showsRootHandles;
protected TreeModel treeModel;
/**
@@ -354,4 +359,87 @@
for (int index = 0; index < listeners.length; ++index)
listeners[index].treeWillExpand(event);
}
+
+ /**
+ * Returns the model of this <code>JTree</code> object.
+ *
+ * @return the associated <code>TreeModel</code>
+ */
+ public TreeModel getModel()
+ {
+ return treeModel;
+ }
+
+ /**
+ * Sets the model to use in <code>JTree</object>.
+ *
+ * @param model the <code>TreeModel</code> to use
+ */
+ public void setModel(TreeModel model)
+ {
+ treeModel = model;
+ }
+
+ /**
+ * Checks if this <code>JTree</code> object is editable.
+ *
+ * @return <code>true</code> if this tree object is editable,
+ * <code>false</code> otherwise
+ */
+ public boolean isEditable()
+ {
+ return editable;
+ }
+
+ /**
+ * Sets the <code>editable</code> property.
+ *
+ * @param flag <code>true</code> to make this tree object editable,
+ * <code>false</code> otherwise
+ */
+ public void setEditable(boolean flag)
+ {
+ if (editable == flag)
+ return;
+
+ boolean oldValue = editable;
+ editable = flag;
+ firePropertyChange("editable", oldValue, editable);
+ }
+
+ /**
+ * Checks if the root element is visible.
+ *
+ * @return <code>true</code> if the root element is visible,
+ * <code>false</code> otherwise
+ */
+ public boolean isRootVisbile()
+ {
+ return rootVisible;
+ }
+
+ public void setRootVisible(boolean flag)
+ {
+ rootVisible = flag;
+ }
+
+ public boolean getShowsRootHandles()
+ {
+ return showsRootHandles;
+ }
+
+ public void setShowRootHandles(boolean flag)
+ {
+ showsRootHandles = flag;
+ }
+
+ public TreeCellRenderer getCellRenderer()
+ {
+ return cellRenderer;
+ }
+
+ public void setCellRenderer(TreeCellRenderer newRenderer)
+ {
+ cellRenderer = newRenderer;
+ }
}
--Boundary-00=_NHU/AKdOmA/v27f
Content-Type: Text/Plain;
charset="iso-8859-15"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
=2D----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi list,
I just commited the attached patch to implement some JTable and JTree=20
stuff. This will help Anthony Green to compile Jacorb in his=20
java-gnome effort. Some methods are still missing but not so much as=20
before.
Michael
2004-07-20 Michael Koch <konqueror@gmx.de>
* javax/swing/JTable.java
(autoCreateColumnsFromModel): New field.
(autoResizeMode): Likewise.
(cellEditor): Likewise.
(cellSelectionEnabled): Likewise.
(columnModel): Likewise.
(dataModel): Likewise.
(defaultEditorsByColumnClass): Likewise.
(defaultRenderersByColumnClass): Likewise.
(editingColumn): Likewise.
(editingRow): Likewise.
(gridColor): Likewise.
(preferredViewportSize): Likewise.
(rowHeight): Likewise.
(rowMargin): Likewise.
(rowSelectionAllowed): Likewise.
(selectionBackground): Likewise.
(selectionForeground): Likewise.
(selectionModel): Likewise.
(showHorizontalLines): Likewise.
(showVerticalLines): Likewise.
(tableHeader): Likewise.
(JTable): Implemented.
(getColumnModel): Likewise.
(getSelectedRow): Likewise.
(getSelectionModel): Likewise.
(setModel): Likewise.
(setSelectionModel): Likewise.
(createScrollPaneForTable): New method.
(createDefaultDataModel): Likewise.
(createDefaultListSelectionModel): Likewise.
(getModel): Likewise.
(getTableHeader): Likewise.
(setTableHeader): Likewise.
(getColumnSelectionAllowed): Likewise.
(setColumnSelectionAllowed): Likewise.
(getRowSelectionAllowed): Likewise.
(setRowSelectionAllowed): Likewise.
(getAutoResizeMode): Likewise.
(setAutoResizeMode): Likewise.
(getColumnCount): Likewise.
(getRowCount): Likewise.
(getCellRenderer): Likewise.
* javax/swing/JTree.java
(cellRenderer): New field.
(editable): Likewise.
(rootVisible): Likewise.
(showsRootHandles): Likewise.
(getModel): New method.
(setModel): Likewise.
(isEditable): Likewise.
(setEditable): Likewise.
(isRootVisbile): Likewise.
(setRootVisible): Likewise.
(getShowsRootHandles): Likewise.
(setShowRootHandles): Likewise.
(getCellRenderer): Likewise.
(setCellRenderer): Likewise.
=2D --=20
Homepage: http://www.worldforge.org/
=2D----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFA/UHPWSOgCCdjSDsRAlcEAKCL1GU2zLcH/f/AmRv6KrwsUWf+vwCfSWGD
ainjXh13GJFz8+i0byRW1EM=3D
=3DOOMf
=2D----END PGP SIGNATURE-----
--Boundary-00=_NHU/AKdOmA/v27f
Content-Type: text/x-diff;
charset="iso-8859-15";
name="swing.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="swing.diff"
Index: javax/swing/JTable.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/JTable.java,v
retrieving revision 1.4.18.2
diff -u -b -B -r1.4.18.2 JTable.java
--- javax/swing/JTable.java 24 Jun 2004 05:31:32 -0000 1.4.18.2
+++ javax/swing/JTable.java 20 Jul 2004 15:55:50 -0000
@@ -38,8 +38,10 @@
package javax.swing;
+import java.awt.Color;
import java.awt.Dimension;
import java.awt.Rectangle;
+import java.util.Hashtable;
import java.util.Vector;
import javax.accessibility.Accessible;
@@ -51,6 +53,11 @@
import javax.swing.event.TableColumnModelListener;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
+import javax.swing.table.DefaultTableColumnModel;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.JTableHeader;
+import javax.swing.table.TableCellEditor;
+import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;
@@ -66,39 +73,115 @@
public static final int AUTO_RESIZE_OFF = 0;
public static final int AUTO_RESIZE_SUBSEQUENT_COLUMNS = 2;
+ protected boolean autoCreateColumnsFromModel;
+ protected int autoResizeMode;
+ protected TableCellEditor cellEditor;
+ protected boolean cellSelectionEnabled;
+ protected TableColumnModel columnModel;
+ protected TableModel dataModel;
+ protected Hashtable defaultEditorsByColumnClass;
+ protected Hashtable defaultRenderersByColumnClass;
+ protected int editingColumn;
+ protected int editingRow;
+ protected Color gridColor;
+ protected Dimension preferredViewportSize;
+ protected int rowHeight;
+ protected int rowMargin;
+ protected boolean rowSelectionAllowed;
+ protected Color selectionBackground;
+ protected Color selectionForeground;
+ protected ListSelectionModel selectionModel;
+ protected boolean showHorizontalLines;
+ protected boolean showVerticalLines;
+ protected JTableHeader tableHeader;
+
+ /**
+ * Creates a new <code>JTable</code> instance.
+ */
public JTable ()
{
- throw new Error ("Not implemented");
+ this(null, null, null);
}
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param numRows an <code>int</code> value
+ * @param numColumns an <code>int</code> value
+ */
public JTable (int numRows, int numColumns)
{
- throw new Error ("Not implemented");
+ this(new DefaultTableModel(numRows, numColumns));
}
- public JTable (Object[][] rowData, Object[] columnNames)
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param data an <code>Object[][]</code> value
+ * @param columnNames an <code>Object[]</code> value
+ */
+ public JTable(Object[][] data, Object[] columnNames)
{
- throw new Error ("Not implemented");
+ this(new DefaultTableModel(data, columnNames));
}
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param dm a <code>TableModel</code> value
+ */
public JTable (TableModel dm)
{
- throw new Error ("Not implemented");
+ this(dm, null, null);
}
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param dm a <code>TableModel</code> value
+ * @param cm a <code>TableColumnModel</code> value
+ */
public JTable (TableModel dm, TableColumnModel cm)
{
- throw new Error ("Not implemented");
+ this(dm, cm, null);
}
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param dm a <code>TableModel</code> value
+ * @param cm a <code>TableColumnModel</code> value
+ * @param sm a <code>ListSelectionModel</code> value
+ */
public JTable (TableModel dm, TableColumnModel cm, ListSelectionModel sm)
{
- throw new Error ("Not implemented");
+ this.dataModel = dm == null ? createDefaultDataModel() : dm;
+ this.columnModel = cm == null ? createDefaultColumnModel() : cm;
+ this.selectionModel = sm == null ? createDefaultListSelectionModel() : sm;
}
- public JTable (Vector rowData, Vector columnNames)
+ /**
+ * Creates a new <code>JTable</code> instance.
+ *
+ * @param data a <code>Vector</code> value
+ * @param columnNames a <code>Vector</code> value
+ */
+ public JTable(Vector data, Vector columnNames)
{
- throw new Error ("Not implemented");
+ this(new DefaultTableModel(data, columnNames));
+ }
+
+ /**
+ * @deprecated 1.0.2, replaced by <code>new JScrollPane(JTable)</code>
+ */
+ public static JScrollPane createScrollPaneForTable(JTable table)
+ {
+ return new JScrollPane(table);
+ }
+
+ public void clearSelection()
+ {
+ selectionModel.clearSelection();
}
public void columnAdded (TableColumnModelEvent event)
@@ -126,6 +209,21 @@
throw new Error ("Not implemented");
}
+ protected TableColumnModel createDefaultColumnModel()
+ {
+ return new DefaultTableColumnModel();
+ }
+
+ protected TableModel createDefaultDataModel()
+ {
+ return new DefaultTableModel();
+ }
+
+ protected ListSelectionModel createDefaultListSelectionModel()
+ {
+ return new DefaultListSelectionModel();
+ }
+
public void editingCanceled (ChangeEvent event)
{
throw new Error ("Not implemented");
@@ -138,7 +236,12 @@
public TableColumnModel getColumnModel ()
{
- throw new Error ("Not implemented");
+ return columnModel;
+ }
+
+ public TableModel getModel()
+ {
+ return dataModel;
}
public Dimension getPreferredScrollableViewportSize ()
@@ -168,12 +271,15 @@
public int getSelectedRow ()
{
- throw new Error ("Not implemented");
+ return selectionModel.getMinSelectionIndex();
}
public ListSelectionModel getSelectionModel ()
{
- throw new Error ("Not implemented");
+ if (! rowSelectionAllowed)
+ return null;
+
+ return selectionModel;
}
public void tableChanged (TableModelEvent event)
@@ -183,7 +289,13 @@
public void setModel (TableModel model)
{
- throw new Error ("Not implemented");
+ if (model == null)
+ throw new IllegalArgumentException();
+
+ // FIXME: Should we deregister from old model ?
+
+ dataModel = model;
+ dataModel.addTableModelListener(this);
}
public void setSelectionMode (int selectionMode)
@@ -193,7 +305,13 @@
public void setSelectionModel (ListSelectionModel model)
{
- throw new Error ("Not implemented");
+ if (model == null)
+ throw new IllegalArgumentException();
+
+ // FIXME: Should we deregister from old model ?
+
+ selectionModel = model;
+ selectionModel.addListSelectionListener(this);
}
public void setShowGrid (boolean showGrid)
@@ -205,4 +323,65 @@
{
throw new Error ("Not implemented");
}
-} // class JTable
+
+ public JTableHeader getTableHeader()
+ {
+ return tableHeader;
+ }
+
+ public void setTableHeader(JTableHeader newHeader)
+ {
+ tableHeader = newHeader;
+ }
+
+ public boolean getColumnSelectionAllowed()
+ {
+ return columnModel.getColumnSelectionAllowed();
+ }
+
+ public void setColumnSelectionAllowed(boolean flag)
+ {
+ columnModel.setColumnSelectionAllowed(flag);
+ }
+
+ public boolean getRowSelectionAllowed()
+ {
+ return rowSelectionAllowed;
+ }
+
+ public void setRowSelectionAllowed(boolean flag)
+ {
+ rowSelectionAllowed = flag;
+ }
+
+ public int getAutoResizeMode()
+ {
+ return autoResizeMode;
+ }
+
+ public void setAutoResizeMode(int mode)
+ {
+ autoResizeMode = mode;
+ }
+
+ public int getColumnCount()
+ {
+ return dataModel.getColumnCount();
+ }
+
+ public int getRowCount()
+ {
+ return dataModel.getRowCount();
+ }
+
+ public TableCellRenderer getCellRenderer(int row, int column)
+ {
+ TableCellRenderer renderer =
+ columnModel.getColumn(column).getCellRenderer();
+
+ if (renderer == null)
+ renderer = getDefaultRenderer(dataModel.getColumnClass(column));
+
+ return renderer;
+ }
+}
Index: javax/swing/JTree.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/javax/swing/JTree.java,v
retrieving revision 1.3.2.4
diff -u -b -B -r1.3.2.4 JTree.java
--- javax/swing/JTree.java 16 Jun 2004 09:15:35 -0000 1.3.2.4
+++ javax/swing/JTree.java 20 Jul 2004 15:55:50 -0000
@@ -50,6 +50,7 @@
import javax.swing.event.TreeWillExpandListener;
import javax.swing.plaf.TreeUI;
import javax.swing.tree.ExpandVetoException;
+import javax.swing.tree.TreeCellRenderer;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
@@ -60,6 +61,10 @@
{
private static final long serialVersionUID = 7559816092864483649L;
+ protected TreeCellRenderer cellRenderer;
+ protected boolean editable;
+ protected boolean rootVisible;
+ protected boolean showsRootHandles;
protected TreeModel treeModel;
/**
@@ -354,4 +359,87 @@
for (int index = 0; index < listeners.length; ++index)
listeners[index].treeWillExpand(event);
}
+
+ /**
+ * Returns the model of this <code>JTree</code> object.
+ *
+ * @return the associated <code>TreeModel</code>
+ */
+ public TreeModel getModel()
+ {
+ return treeModel;
+ }
+
+ /**
+ * Sets the model to use in <code>JTree</object>.
+ *
+ * @param model the <code>TreeModel</code> to use
+ */
+ public void setModel(TreeModel model)
+ {
+ treeModel = model;
+ }
+
+ /**
+ * Checks if this <code>JTree</code> object is editable.
+ *
+ * @return <code>true</code> if this tree object is editable,
+ * <code>false</code> otherwise
+ */
+ public boolean isEditable()
+ {
+ return editable;
+ }
+
+ /**
+ * Sets the <code>editable</code> property.
+ *
+ * @param flag <code>true</code> to make this tree object editable,
+ * <code>false</code> otherwise
+ */
+ public void setEditable(boolean flag)
+ {
+ if (editable == flag)
+ return;
+
+ boolean oldValue = editable;
+ editable = flag;
+ firePropertyChange("editable", oldValue, editable);
+ }
+
+ /**
+ * Checks if the root element is visible.
+ *
+ * @return <code>true</code> if the root element is visible,
+ * <code>false</code> otherwise
+ */
+ public boolean isRootVisbile()
+ {
+ return rootVisible;
+ }
+
+ public void setRootVisible(boolean flag)
+ {
+ rootVisible = flag;
+ }
+
+ public boolean getShowsRootHandles()
+ {
+ return showsRootHandles;
+ }
+
+ public void setShowRootHandles(boolean flag)
+ {
+ showsRootHandles = flag;
+ }
+
+ public TreeCellRenderer getCellRenderer()
+ {
+ return cellRenderer;
+ }
+
+ public void setCellRenderer(TreeCellRenderer newRenderer)
+ {
+ cellRenderer = newRenderer;
+ }
}
--Boundary-00=_NHU/AKdOmA/v27f--
----
-------