public class DefaultTreeCellEditor extends Object implements ActionListener, TreeCellEditor, TreeSelectionListener
TreeCellEditor
。
您需要提供DefaultTreeCellRenderer
的实例,以便可以获取图标。
您可以选择提供一个TreeCellEditor
,它将根据DefaultTreeCellRenderer中的图标进行DefaultTreeCellRenderer
。
如果您不提供TreeCellEditor
,将使用TextField
。
编辑是通过三点鼠标点击,点击,暂停,点击和延迟1200毫秒来启动的。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,对所有JavaBeans的长期存储的支持已经添加到java.beans
包中。 请参阅XMLEncoder
。
JTree
Modifier and Type | Class and Description |
---|---|
class |
DefaultTreeCellEditor.DefaultTextField
TextField 未提供编辑器时使用。
|
class |
DefaultTreeCellEditor.EditorContainer
集装箱负责放置
editingComponent 。
|
Modifier and Type | Field and Description |
---|---|
protected Color |
borderSelectionColor
如果绘制边框选择颜色,则为真。
|
protected boolean |
canEdit
从Java 2平台v1.4开始,此字段不再被使用。
|
protected Component |
editingComponent
用于编辑的
editingContainer ,从
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 实例也听。
|
Constructor and Description |
---|
DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer)
使用指定的渲染器和默认编辑器为JTree构造一个
DefaultTreeCellEditor 对象。
|
DefaultTreeCellEditor(JTree tree, DefaultTreeCellRenderer renderer, TreeCellEditor editor)
构造一个
DefaultTreeCellEditor 的对象
JTree 使用指定的渲染器和指定的编辑器。
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(ActionEvent e)
在定时器触发时消息传送,这将开始编辑会话。
|
void |
addCellEditorListener(CellEditorListener l)
添加
CellEditorListener 。
|
void |
cancelCellEditing()
消息
cancelCellEditing 到
realEditor 并将其从此实例中删除。
|
protected boolean |
canEditImmediately(EventObject event)
如果返回true
event 是
null ,或者它是一个
MouseEvent 与点击计数> 2点
inHitRegion 返回true。
|
protected Container |
createContainer()
创建容器以管理editingComponent的
editingComponent 。
|
protected TreeCellEditor |
createTreeCellEditor()
如果
TreeCellEditor 中没有提供
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 返回真实消息,
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 。
|
protected TreeCellEditor realEditor
protected DefaultTreeCellRenderer renderer
protected Container editingContainer
editorComponent
。
protected transient Component editingComponent
editingContainer
。
protected boolean canEdit
isCellEditable
。
protected transient int offset
editingComponent
。
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)
DefaultTreeCellEditor
的对象JTree
使用指定的渲染器和指定的编辑器。
(使用此构造函数进行专门编辑。)
tree
- 一个
JTree
对象
renderer
- 一个
DefaultTreeCellRenderer
对象
editor
- 一个
TreeCellEditor
对象
public void setBorderSelectionColor(Color newColor)
newColor
- 新的边框颜色
public Color getBorderSelectionColor()
public void setFont(Font font)
null
表示应该使用渲染器字体。
这不会覆盖您在编辑器中设置的接收器实例化的任何字体。
如果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
。
getTreeCellEditorComponent
在接口
TreeCellEditor
tree
- 要求编辑编辑的JTree;
此参数可以为null
value
- 要编辑的单元格的值
isSelected
- 如果要使用选择突出显示单元格,则为true
expanded
- 如果节点被扩展,则为true
leaf
- 如果节点是叶节点,则为true
row
- 正在编辑的节点的行索引
public Object getCellEditorValue()
getCellEditorValue
在接口
CellEditor
public boolean isCellEditable(EventObject event)
realEditor
返回true,则返回
prepareForEditing
,并返回true。
isCellEditable
在接口
CellEditor
event
- 编辑器应该使用的事件来考虑是否开始编辑
CellEditor.shouldSelectCell(java.util.EventObject)
public boolean shouldSelectCell(EventObject event)
realEditor
返回值。
shouldSelectCell
在界面
CellEditor
event
- 编辑器应该用来开始编辑的事件
CellEditor.isCellEditable(java.util.EventObject)
public boolean stopCellEditing()
realEditor
允许编辑停止,那么
realEditor
被删除,返回true,否则返回false。
stopCellEditing
在接口
CellEditor
public void cancelCellEditing()
cancelCellEditing
到
realEditor
并将其从此实例中删除。
cancelCellEditing
在接口
CellEditor
public void addCellEditorListener(CellEditorListener l)
CellEditorListener
。
addCellEditorListener
在接口
CellEditor
l
- 要添加的侦听器
public void removeCellEditorListener(CellEditorListener l)
CellEditorListener
。
removeCellEditorListener
在界面
CellEditor
l
- 要删除的侦听器
public CellEditorListener[] getCellEditorListeners()
CellEditorListener
的数组。
CellEditorListener
或一个空数组,如果没有添加侦听器
public void valueChanged(TreeSelectionEvent e)
lastPath
。
valueChanged
在界面
TreeSelectionListener
e
- 表征变更的事件。
public void actionPerformed(ActionEvent e)
actionPerformed
在接口
ActionListener
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
,或者它是一个
MouseEvent
与点击计数> 2点
inHitRegion
返回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
中没有提供TreeCellEditor
,则调用此方法。
它返回一个TextField
编辑器。
TextField
编辑器