- 浏览: 748325 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (419)
- 杂软粉墨 (2)
- 创意灵感 (3)
- 经验记录 (137)
- 开源轨迹 (2)
- sip-communicator (2)
- 闲侃杂谈 (8)
- 问题交流 (24)
- 概念模式 (32)
- 难点备案 (5)
- JwChat (1)
- 中国象棋 (1)
- 教育探索 (6)
- 英语研究 (58)
- 星际争霸 (1)
- 电信知识 (1)
- 软件架构 (3)
- 哲学探索 (26)
- 算法灵魂 (8)
- 近视探索 (6)
- 数学数学 (3)
- 牛角钻尖 (23)
- 至强文言 (3)
- 数据结构 (1)
- 宇宙物理 (2)
- 网络架构 (3)
- 游戏领域 (4)
- 图形处理 (2)
- 修炼之路 (8)
- 读书天地 (20)
- 编解乱码 (2)
- 概念探索 (8)
- 格物致知 (1)
- 其它语言 (1)
- 测试领域 (3)
- 文化风流 (1)
- JQuery (1)
- 網頁領域 (1)
- Unix/Linux (1)
- Inside JVM (1)
- 异常分析 (1)
最新评论
-
suyujie:
引用
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
iamzhoug37:
您能说一下"局部变量不受文本顺序限制" 是 ...
声明前为什么能赋值却不能输出,都是使用
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.event.CellEditorListener; import javax.swing.event.ChangeEvent; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; public class Test extends JFrame{ static int i = 0; DefaultMutableTreeNode root; /* DefaultMutableTreeNode是树数据结构中的通用节点 */ DefaultMutableTreeNode child; DefaultMutableTreeNode chosen; JTree tree; DefaultTreeModel model; // 使用 TreeNodes 的简单树数据模型. String[][] data = {{"体育","足球","篮球","乒乓球"},{"娱乐","唱歌","跳舞","相声","小品"},{"电视","长虹","海尔","创维"},{"戏剧","京剧","川剧","越剧"}, {"国家","中国","越南","朝鲜","德国"},{"武器","飞机","大炮","坦克"}}; Test(){ Container contentPane = this.getContentPane(); JPanel jPanel1 = new JPanel(new BorderLayout()); root = new DefaultMutableTreeNode("根"); tree = new JTree(root); // 建立以root为根的树 jPanel1.add(new JScrollPane(tree),BorderLayout.CENTER); model = (DefaultTreeModel) tree.getModel(); for(int i = 0 ;i < data.length ; i++){ child = new Branch(data[i++]).node(); chosen = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); if(chosen == null){ chosen = root; } model.insertNodeInto(child,chosen,0); } JButton jButton1 = new JButton("使节点可编辑"); //使节点可编辑 jButton1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ tree.setEditable(true); tree.getCellEditor().addCellEditorListener(new CellEditorAction()); tree.startEditingAtPath(tree.getSelectionPath()); } }); jButton1.setBackground(Color.blue); jButton1.setForeground(Color.white); JPanel jPanel2 = new JPanel(); jPanel2.add(jButton1); jPanel1.add(jPanel2,BorderLayout.SOUTH); contentPane.add(jPanel1); this.setTitle("JtreeDemo"); this.setSize(300,500); this.setLocation(400,400); this.setVisible(true); } class Branch{ DefaultMutableTreeNode r; public Branch(String[] data){ r = new DefaultMutableTreeNode(data[0]); for(int i = 1;i < data.length;i++){ r.add(new DefaultMutableTreeNode(data[i])); } } public DefaultMutableTreeNode node(){ return r; } } private class CellEditorAction implements CellEditorListener{ public void editingCanceled(ChangeEvent e) { System.out.println("编辑取消"); } public void editingStopped(ChangeEvent e) { System.out.println("编辑结束"); } } public static void main(String args[]){ new Test(); } }
发表评论
-
关于方法访问控制符protected
2012-11-29 10:38 1268http://bbs.csdn.net/topics/3902 ... -
一个基本问题关于引用的
2012-05-15 10:20 1130问: int a = 1; Integer b = new ... -
我對面向對象和過程的理解。
2012-05-02 08:30 1068我的一些理解。 面向过程,是对客观现象的描述,感觉是有一个上 ... -
stack and heap
2012-01-13 23:17 1054我觉得是根据应用方式 和本身特性 才将内存分区的,目的是提 ... -
program experience conclusion
2011-07-11 15:35 10681. check parameters for validit ... -
PreparedStatement's possible designated parameter
2011-04-29 13:45 991though it's nearly impossible t ... -
clean Log4j
2011-04-12 11:19 1069import org.apache.log4j.BasicCo ... -
about abstract class
2011-04-02 10:34 871yes, we do know abstract class ... -
cvs operations on linux
2011-03-25 09:40 1016http://www.linuxhowtos.org/Syst ... -
regex to exchange two parts
2011-03-24 17:09 1096public class Test { public ... -
About the database locking
2011-03-09 11:02 967http://en.wikipedia.org/wiki/Lo ... -
how to send soap message in java
2011-03-08 10:29 1898import java.io.BufferedReader; ... -
About ShutDownDemo
2011-03-07 15:02 985public class ShutdownDemo { p ... -
How do you know if an explicit object casting is needed
2011-02-24 16:33 1192通俗来讲,不可能将一只是猫的动物强转为狗 再说Graphic ... -
有关MimeUtility
2011-02-24 13:11 3368import java.io.UnsupportedEncod ... -
C#连接sql server 2008的一件2事
2011-02-24 09:01 2157once upon a time, i came upon o ... -
Shadowing, Overriding, Hiding and Obscuring
2011-02-22 15:15 1168当子类属性与父类属性重叠时 这种叫法上是shadowi ... -
JAXP usage
2011-02-16 16:07 1104import java.io.ByteArrayInputSt ... -
运行一个类,如果classpath中路径带空格就加双引号
2011-02-11 11:25 2810注意是这样加: java -cp .;"d:\my ... -
关于ClassPath中的current directory
2011-01-28 16:40 1156Given: 1. package com.company. ...
相关推荐
3. **监听编辑事件**: 我们可以注册`TreeWillExpandListener`来监听树节点的展开和折叠,以及`TreeSelectionListener`来监听节点的选择变化。此外,`TreeCellEditor`会触发`EditingStopped`事件,我们可以在事件...
JTree支持编辑节点的文本,需要启用`JTree`的编辑功能。这通常通过设置`TreeCellEditor`和`TreeCellRenderer`来实现。在日志管理系统中,可能需要编辑节点以更新日志条目。要实现编辑,可以调用`JTree`的`...
在Swing中,`JTree`默认并不支持节点带有复选框,但可以通过自定义`CellRenderer`和`CellEditor`来实现这一功能。下面我们将详细探讨如何在`JTree`中加入复选框。 1. **创建复选框树节点:** 首先,我们需要创建一...
实现JTree还可以包含许多扩展功能,如拖放排序、搜索、节点编辑等,这些都需要额外的JavaScript逻辑和可能的库支持。 总的来说,实现一个JTree涉及前端开发的多个方面,包括HTML布局、CSS样式、JavaScript编程以及...
为了响应用户的交互,比如点击或展开/折叠节点,我们可以为JTree添加事件监听器,如TreeSelectionListener和TreeWillExpandListener: ```java jTree.addTreeSelectionListener(new TreeSelectionListener() { ...
本教程将深入讲解JTree的使用方法,包括创建、配置、事件处理以及自定义节点图标等方面,同时提供相关的源码示例。 1. **创建JTree** 创建JTree的基本步骤是创建一个TreeNode对象或TreeModel,然后将其传递给JTree...
5. **定制行为**:`JTree`提供了很多方法来定制其行为,如`setEditable()`(设置是否允许编辑节点)、`setShowsRootHandles()`(显示或隐藏根节点的手柄)。 6. **遍历和访问节点**:可以使用`TreePath`和`...
这可能涉及到监听`JTree`的选择事件,然后根据选中节点的数据生成`JTable`的行。这通常通过实现`TreeSelectionListener`接口并重写`valueChanged`方法来完成。 `JTextPane`和`JSplitPane`是额外提及的两个组件。`...
jtree和QQ项目 树上闪动的节点动态化(根据QQ号来消息闪动)
JTree可以动态地加载数据,支持单选和多选模式,还可以通过添加监听器来处理用户的点击事件。在实际项目中,你可以通过DefaultTreeModel或者自定义的TreeModel来创建和管理JTree的数据。 例如,以下是一个简单的...
在`JTree`中,每个节点可以有子节点,这种结构可以无限递归,形成多层级的树。在本项目中,树有三级深度,意味着用户可以展开节点查看其下一级的子节点,直至第三级。 创建`JTree`通常涉及以下步骤: 1. **创建...
- **MyDefaultTreeCellRenderer.java源代码**:示例代码展示了如何定制JTree节点的渲染器。 #### (十五) JTree控件 **树和节点的基本概念**:介绍了树的基本概念和节点之间的关系。 - **有关树JTree的类和接口**:...
接着,可能还会设置JTree的各种属性,如是否允许编辑节点,以及选择模式等。 在代码中,开发者可能还使用了事件监听器,比如TreeSelectionListener,以便在用户选择树中的不同节点时执行某些操作。这通常是通过实现...
这可能涉及到将`JTable`嵌入到`JTree`的一个节点中,或者反之,以提供更丰富的用户界面。这种组合在展示具有复杂层次关系的数据时特别有用。 使用`JTable`和`JTree`的关键步骤包括: 1. **创建模型**:根据数据...
JTree 模型的主要组成部分包括树节点、树模型和树细胞编辑器。树节点是树的基本组成单元,可以是文件夹或树叶。树模型是 JTree 的核心,负责管理树的结构和节点的关系。树细胞编辑器是 JTree 的可视化组件,负责将树...
同时,JTree还支持通过CellEditor进行编辑操作,让用户可以直接在树中修改节点内容。 5. **拖放操作** JTree支持拖放操作,通过实现DragSource和DropTarget接口,可以实现节点的移动和复制。 6. **性能优化** ...
当用户在`JTree`上点击右键时,可以通过监听鼠标事件并显示`JPopupMenu`来提供一系列与选中节点相关的操作。例如,用户可以右键点击某个表节点,弹出的菜单中包含“查看数据”、“编辑表结构”、“删除表”等选项。...
此外,JTree可以自定义外观,比如通过设置CellRenderer来改变节点的显示方式,或者通过设置CellEditor来实现节点的编辑功能。同时,JTree还可以与TableModel配合,动态加载和更新数据。 总的来说,这个“javaJTree...
JTree不仅提供了基本的节点操作,如展开、折叠、选择和遍历,还可以自定义节点图标、拖放操作,以及通过监听器响应用户的交互事件。 **XML配置**: XML(可扩展标记语言)是一种标记语言,常用于存储和传输结构化...