java.lang.Object javax.swing.tree.DefaultTreeCellEditor
public class DefaultTreeCellEditor
TreeCellEditor
。需要提供一个 DefaultTreeCellRenderer
实例,以便可以获取图标。您也可以提供一个根据 DefaultTreeCellRenderer
中的图标布局的 TreeCellEditor
。如果不提供 TreeCellEditor
,将使用 TextField
。三次鼠标单击可启动编辑,或者一次单击之后,暂停一会,再单击并延迟 1200 毫秒也可启动编辑。
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前的序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
JTree
嵌套类摘要 | |
---|---|
class |
DefaultTreeCellEditor.DefaultTextField 不提供任何编辑器时所使用的 TextField 。 |
class |
DefaultTreeCellEditor.EditorContainer 负责存放 editingComponent 的容器。 |
字段摘要 | |
---|---|
protected Color |
borderSelectionColor 如果应绘制边框选择色,则为 true。 |
protected boolean |
canEdit 从 Java 2 平台 v1.4 开始,不应再使用此字段。 |
protected Component |
editingComponent 用于编辑的组件,从 editingContainer 获取。 |
protected Container |
editingContainer 将包含 editorComponent 的编辑容器。 |
protected Icon |
editingIcon 编辑时要使用的图标。 |
protected Font |
font 用以绘制的字体, null 指示将使用呈现器的字体。 |
protected TreePath |
lastPath 选择的最后路径。 |
protected int |
lastRow 最后传入到 getTreeCellEditorComponent 的行。 |
protected int |
offset 在编辑中使用。 |
protected TreeCellEditor |
realEditor 处理该编辑的编辑器。 |
protected DefaultTreeCellRenderer |
renderer 用于从中获取边框和偏移量的呈现器。 |
protected Timer |
timer 在启动编辑会话之前使用。 |
protected JTree |
tree JTree 实例侦听。 |
构造方法摘要 | |
---|---|
DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer) 使用指定呈现器和默认编辑器,为 JTree 构造一个 DefaultTreeCellEditor 对象。 |
|
DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer, TreeCellEditor editor) 使用指定的呈现器和指定的编辑器,为 JTree 构造一个 DefaultTreeCellEditor 对象。 |
方法摘要 | |
---|---|
void |
actionPerformed(ActionEvent e) 计时器被激发时传递消息,这将启动编辑会话。 |
void |
addCellEditorListener(CellEditorListener l) 添加 CellEditorListener 。 |
void |
cancelCellEditing() 将 cancelCellEditing 发送到 realEditor ,并从此实例移除它。 |
protected boolean |
canEditImmediately(EventObject event) 如果 event 为 null ,或者它是一个单击计数 > 2 的 MouseEvent ,并且 inHitRegion 返回 true,则此方法返回 true。 |
protected Container |
createContainer() 创建管理 editingComponent 放置的容器。 |
protected TreeCellEditor |
createTreeCellEditor() 如果构造方法中没有提供 TreeCellEditor ,则调用此方法。 |
protected void |
determineOffset(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) |
Color |
getBorderSelectionColor() 返回绘制边框的颜色。 |
CellEditorListener[] |
getCellEditorListeners() 返回使用 addCellEditorListener() 添加到此 DefaultTreeCellEditor 中的所有 CellEditorListener 组成的数组。 |
Object |
getCellEditorValue() 返回当前正在编辑的值。 |
Font |
getFont() 获取用于编辑的字体。 |
Component |
getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row) 配置编辑器。 |
protected boolean |
inHitRegion(int x, int y) 如果传入位置是要启动编辑的有效鼠标位置,则返回 true。 |
boolean |
isCellEditable(EventObject event) 如果 realEditor 将 true 返回到此消息,则会通知 prepareForEditing ,并返回 true。 |
protected void |
prepareForEditing() 仅在编辑启动之前调用。 |
void |
removeCellEditorListener(CellEditorListener l) 移除以前添加的 CellEditorListener 。 |
void |
setBorderSelectionColor(Color newColor) 设置用于边框的颜色。 |
void |
setFont(Font font) 设置编辑使用的字体。 |
protected void |
setTree(JTree newTree) 设置当前正在为其编辑的树。 |
boolean |
shouldSelectCell(EventObject event) 针对返回值,向 realEditor 发送消息。 |
protected boolean |
shouldStartEditingTimer(EventObject event) 如果 event 为 MouseEvent ,并且单击计数为 1,则返回 true。 |
protected void |
startEditingTimer() 启动编辑计时器。 |
boolean |
stopCellEditing() 如果 realEditor 允许编辑停止,则移除 realEditor ,并返回 true,否则返回 false。 |
void |
valueChanged(TreeSelectionEvent e) 重置 lastPath 。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected TreeCellEditor realEditor
protected DefaultTreeCellRenderer renderer
protected Container editingContainer
editorComponent
的编辑容器。
protected transient Component editingComponent
editingContainer
获取。
protected boolean canEdit
isCellEditable
。
protected transient int offset
editingComponent
的 x 位置。
protected transient JTree tree
JTree
实例侦听。
protected transient TreePath lastPath
protected transient Timer timer
protected transient int lastRow
getTreeCellEditorComponent
的行。
protected Color borderSelectionColor
protected transient Icon editingIcon
protected Font font
null
指示将使用呈现器的字体。
构造方法详细信息 |
---|
public DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer)
DefaultTreeCellEditor
对象。(使用此构造方法进行常规编辑。)
tree
-
JTree
对象
renderer
-
DefaultTreeCellRenderer
对象
public DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer, TreeCellEditor editor)
JTree
构造一个
DefaultTreeCellEditor
对象。(使用此构造方法进行特殊编辑。)
tree
-
JTree
对象
renderer
-
DefaultTreeCellRenderer
对象
editor
-
TreeCellEditor
对象
方法详细信息 |
---|
public void setBorderSelectionColor(Color newColor)
newColor
- 新的边框颜色
public Color getBorderSelectionColor()
public void setFont(Font font)
null
指示应使用的呈现器字体。这将不会重写您在编辑器中设置的任何字体,接收者使用该编辑器进行实例化。如果传入编辑器的
null
,则将创建采用此字体的默认编辑器。
font
- 编辑
Font
getFont()
public Font getFont()
Font
setFont(java.awt.Font)
public Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)
realEditor
。
TreeCellEditor
中的
getTreeCellEditorComponent
tree
- 要请求编辑器进行编辑的 JTree;此参数可以为 null
value
- 要编辑的单元格的值
isSelected
- 如果将呈现单元格并在选择时高亮显示,则为 true
expanded
- 如果该节点被扩展,则为 true
leaf
- 如果该节点是叶节点,则为 true
row
- 正在编辑的节点的行索引
public Object getCellEditorValue()
CellEditor
中的
getCellEditorValue
public boolean isCellEditable(EventObject event)
realEditor
将 true 返回到此消息,则会通知
prepareForEditing
,并返回 true。
CellEditor
中的
isCellEditable
event
- 编辑器考虑是否开始进行编辑时应该使用的事件
CellEditor.shouldSelectCell(java.util.EventObject)
public boolean shouldSelectCell(EventObject event)
realEditor
发送消息。
CellEditor
中的
shouldSelectCell
event
- 编辑器开始进行编辑时应该使用的事件
CellEditor.isCellEditable(java.util.EventObject)
public boolean stopCellEditing()
realEditor
允许编辑停止,则移除
realEditor
,并返回 true,否则返回 false。
CellEditor
中的
stopCellEditing
public void cancelCellEditing()
cancelCellEditing
发送到
realEditor
,并从此实例移除它。
CellEditor
中的
cancelCellEditing
public void addCellEditorListener(CellEditorListener l)
CellEditorListener
。
CellEditor
中的
addCellEditorListener
l
- 要添加的侦听器
public void removeCellEditorListener(CellEditorListener l)
CellEditorListener
。
CellEditor
中的
removeCellEditorListener
l
- 要移除的侦听器。
public CellEditorListener[] getCellEditorListeners()
CellEditorListener
组成的数组。
CellEditorListener
,如果没有添加侦听器,则返回一个空数组
public void valueChanged(TreeSelectionEvent e)
lastPath
。
TreeSelectionListener
中的
valueChanged
e
- 表现更改的特征的事件。
public void actionPerformed(ActionEvent e)
ActionListener
中的
actionPerformed
protected void setTree(JTree newTree)
newTree
- 要编辑的新树
protected boolean shouldStartEditingTimer(EventObject event)
event
为
MouseEvent
,并且单击计数为 1,则返回 true。
event
- 正在研究的事件
protected void startEditingTimer()
protected boolean canEditImmediately(EventObject event)
event
为
null
,或者它是一个单击计数 > 2 的
MouseEvent
,并且
inHitRegion
返回 true,则此方法返回 true。
event
- 正在研究的事件
protected boolean inHitRegion(int x, int y)
x
<= 呈现器显示的图标和图标间距的宽度,则此实现返回 false。换句话说,如果用户单击呈现器显示的文本部分,则返回 true,否则返回 false。
x
- 点的 x 坐标
y
- 点的 y 坐标
protected void determineOffset(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row)
protected void prepareForEditing()
editingComponent
添加到
editingContainer
。
protected Container createContainer()
editingComponent
放置的容器。
protected TreeCellEditor createTreeCellEditor()
TreeCellEditor
,则调用此方法。它返回一个
TextField
编辑器。
TextField
编辑器