|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jdesktop.swingx.treetable.SimpleFileSystemModel
public class SimpleFileSystemModel
A tree table model to simulate a file system.
This tree table model implementation does not extends
AbstractTreeTableModel. The file system metaphor demonstrates that
it is often easier to directly implement tree structures directly instead of
using intermediaries, such as TreeNode.
It would be possible to create this same class by extending
AbstractTreeTableModel, however the number of methods that you would
need to override almost precludes that means of implementation.
A "full" version of this model might allow editing of file names, the deletion of files, and the movement of files. This simple implementation does not intend to tackle such problems, but this implementation may be extended to handle such details.
| Field Summary | |
|---|---|
protected EventListenerList |
listenerList
|
| Constructor Summary | |
|---|---|
SimpleFileSystemModel()
Creates a file system model, using the root directory as the model root. |
|
SimpleFileSystemModel(File root)
Creates a file system model, using the specified root as the
model root. |
|
| Method Summary | |
|---|---|
void |
addTreeModelListener(TreeModelListener l)
Adds a listener for the TreeModelEvent
posted after the tree changes. |
File |
getChild(Object parent,
int index)
Returns the child of parent at index index
in the parent's
child array. |
int |
getChildCount(Object parent)
Returns the number of children of parent. |
Class<?> |
getColumnClass(int column)
Returns the most specific superclass for all the cell values in the column. |
int |
getColumnCount()
Returns the number of columns in the model. |
String |
getColumnName(int column)
Returns the name of the column at columnIndex. |
int |
getHierarchicalColumn()
Returns the column that is the "tree" column. |
int |
getIndexOfChild(Object parent,
Object child)
Returns the index of child in parent. |
File |
getRoot()
Returns the root of the tree. |
TreeModelListener[] |
getTreeModelListeners()
Gets a an array of all the listeners attached to this model. |
Object |
getValueAt(Object node,
int column)
Returns the value for the node at columnIndex. |
boolean |
isCellEditable(Object node,
int column)
Returns true if the cell for the node at columnIndex is
editable. |
boolean |
isLeaf(Object node)
Returns true if node is a leaf. |
void |
removeTreeModelListener(TreeModelListener l)
Removes a listener previously added with addTreeModelListener. |
void |
setValueAt(Object value,
Object node,
int column)
Sets the value for the node at columnIndex to
value. |
void |
valueForPathChanged(TreePath path,
Object newValue)
Messaged when the user has altered the value for the item identified by path to newValue. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected EventListenerList listenerList
| Constructor Detail |
|---|
public SimpleFileSystemModel()
public SimpleFileSystemModel(File root)
root as the
model root.
| Method Detail |
|---|
public File getChild(Object parent,
int index)
parent at index index
in the parent's
child array. parent must be a node previously obtained
from this data source. This should not return null
if index
is a valid index for parent (that is index >= 0 &&
index < getChildCount(parent)).
getChild in interface TreeModelparent - a node in the tree, obtained from this data source
parent at index indexpublic int getChildCount(Object parent)
parent.
Returns 0 if the node
is a leaf or if it has no children. parent must be a node
previously obtained from this data source.
getChildCount in interface TreeModelparent - a node in the tree, obtained from this data source
parentpublic Class<?> getColumnClass(int column)
JXTreeTable to set up a default
renderer and editor for the column.
getColumnClass in interface TreeTableModelcolumn - the index of the column
TableModel.getColumnClass(int)public int getColumnCount()
JXTreeTable uses
this method to determine how many columns it should create and display by
default.
getColumnCount in interface TreeTableModelTableModel.getColumnCount()public String getColumnName(int column)
columnIndex. This is used to
initialize the table's column header name. Note: this name does not need
to be unique; two columns in a table can have the same name.
getColumnName in interface TreeTableModelcolumn - the index of the column
TableModel.getColumnName(int)
public Object getValueAt(Object node,
int column)
node at columnIndex. The
node must be managed by this model. Unamanaged nodes should throw
an IllegalArgumentException.
getValueAt in interface TreeTableModelnode - the node whose value is to be queriedcolumn - the column whose value is to be queried
TreeTableModel.setValueAt(java.lang.Object, java.lang.Object, int),
TableModel.getValueAt(int, int)public int getHierarchicalColumn()
getHierarchicalColumn in interface TreeTableModel
public boolean isCellEditable(Object node,
int column)
node at columnIndex is
editable. Otherwise, setValueAt on the cell will not change the
value of that cell. The node must be managed by this model.
Unamanaged nodes should throw an IllegalArgumentException.
isCellEditable in interface TreeTableModelnode - the node whose value to be queriedcolumn - the column whose value to be queried
TreeTableModel.setValueAt(java.lang.Object, java.lang.Object, int),
TableModel.isCellEditable(int, int)
public void setValueAt(Object value,
Object node,
int column)
node at columnIndex to
value. The node must be managed by this model.
Unamanaged nodes should throw an IllegalArgumentException.
setValueAt in interface TreeTableModelvalue - the new valuenode - the node whose value is to be changedcolumn - the column whose value is to be changedTreeTableModel.getValueAt(java.lang.Object, int),
TreeTableModel.isCellEditable(java.lang.Object, int),
TableModel.setValueAt(Object, int, int)public void addTreeModelListener(TreeModelListener l)
TreeModelEvent
posted after the tree changes.
addTreeModelListener in interface TreeModell - the listener to addTreeModel.removeTreeModelListener(javax.swing.event.TreeModelListener)
public int getIndexOfChild(Object parent,
Object child)
parent
or child is null, returns -1.
If either parent or child don't
belong to this tree model, returns -1.
getIndexOfChild in interface TreeModelparent - a node in the tree, obtained from this data sourcechild - the node we are interested in
child or parent are null
or don't belong to this tree modelpublic File getRoot()
null
only if the tree has no nodes.
getRoot in interface TreeModelpublic boolean isLeaf(Object node)
true if node is a leaf.
It is possible for this method to return false
even if node has no children.
A directory in a filesystem, for example,
may contain no files; the node representing
the directory is not a leaf, but it also has no children.
isLeaf in interface TreeModelnode - a node in the tree, obtained from this data source
node is a leafpublic void removeTreeModelListener(TreeModelListener l)
addTreeModelListener.
removeTreeModelListener in interface TreeModell - the listener to removeTreeModel.addTreeModelListener(javax.swing.event.TreeModelListener)
public void valueForPathChanged(TreePath path,
Object newValue)
path to newValue.
If newValue signifies a truly new value
the model should post a treeNodesChanged event.
valueForPathChanged in interface TreeModelpath - path to the node that the user has alterednewValue - the new value from the TreeCellEditorpublic TreeModelListener[] getTreeModelListeners()
null
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||