- 浏览: 191871 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
wanglijunjsj:
谢谢,很有用
java log4j的一些总结 -
lxb_champagne:
this.init(); 类都没初始化好,this没用的。
java final变量的初始化问题 -
lg_asus:
上面代码有点小问题,最新代码:
public class Pr ...
判断素数 -
lg_asus:
测试10 million的以内的数据,算出所有素数时间在500 ...
判断素数 -
lg_asus:
文章中说错了:如果只是找一个数在不在其中,则可以直接遍历一次, ...
40亿不重复的正整数,如何判断一个数是否在其中
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.tree.*; public class JTreeDemo2 implements ActionListener,TreeModelListener{ JLabel label = null; JTree tree = null; DefaultTreeModel treeModel = null; String nodeName = null;//原節點名稱 JButton button1,button2,button3; public JTreeDemo2(){ JFrame jf = new JFrame("JTreeDemo2"); Container contentPane = jf.getContentPane(); DefaultMutableTreeNode root = new DefaultMutableTreeNode("資源管理器"); tree = new JTree(root); tree.setEditable(true); tree.addMouseListener(new MouseHandle2()); treeModel = (DefaultTreeModel)tree.getModel(); treeModel.addTreeModelListener(this); tree.addMouseListener(new MouseAdapter(){ @Override public void mousePressed(MouseEvent e){ TreePath treePath = tree.getPathForLocation(e.getX(), e.getY()); if(treePath!=null){ button1.setEnabled(true); button2.setEnabled(true); }else{ button1.setEnabled(false); button2.setEnabled(false); } } }); JScrollPane scrollPane = new JScrollPane(); scrollPane.setViewportView(tree); JPanel panel = new JPanel(); button1 = new JButton("新增節點"); button1.addActionListener(this); button1.setEnabled(false); panel.add(button1); button2 = new JButton("刪除節點"); button2.addActionListener(this); button2.setEnabled(false); panel.add(button2); button3 = new JButton("清除所有節點"); button3.addActionListener(this); panel.add(button3); label = new JLabel("Action"); contentPane.add(panel,BorderLayout.NORTH); contentPane.add(scrollPane,BorderLayout.CENTER); contentPane.add(label,BorderLayout.SOUTH); jf.pack(); jf.setVisible(true); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String...args){ new JTreeDemo2(); } @Override public void actionPerformed(ActionEvent e){ if(e.getSource()==button1){ DefaultMutableTreeNode parentNode = null; DefaultMutableTreeNode newNode = new DefaultMutableTreeNode("新增節點"); newNode.setAllowsChildren(true); TreePath treePath = tree.getSelectionPath(); if(treePath!=null){ parentNode = (DefaultMutableTreeNode) treePath.getLastPathComponent(); System.out.println("parentNode:"+parentNode.getUserObject()); treeModel.insertNodeInto(newNode, parentNode, parentNode.getChildCount()); tree.scrollPathToVisible(new TreePath(newNode.getPath())); label.setText("新增節點成功"); } } if(e.getSource()==button2){ TreePath treePath = tree.getSelectionPath(); System.out.println(treePath); if(treePath!=null){ DefaultMutableTreeNode selectionNode = (DefaultMutableTreeNode)treePath.getLastPathComponent(); TreeNode parentNode = selectionNode.getParent(); if(parentNode!=null){ treeModel.removeNodeFromParent(selectionNode); label.setText("刪除節點成功"); } } } if(e.getSource()==button3){ // button1.setEnabled(false); // button2.setEnabled(false); DefaultMutableTreeNode root = (DefaultMutableTreeNode) treeModel.getRoot(); root.removeAllChildren(); treeModel.reload(); tree.repaint(); label.setText("清除所有節點成功"); } } @Override public void treeNodesChanged(TreeModelEvent e){ TreePath treePath = e.getTreePath(); DefaultMutableTreeNode node = (DefaultMutableTreeNode)treePath.getLastPathComponent(); try{ int[] index = e.getChildIndices(); node = (DefaultMutableTreeNode) node.getChildAt(index[0]); }catch(NullPointerException ne){ System.out.println("你選擇的是根節點,它沒有子節點"); } label.setText(nodeName+"更改數據為:"+(String)node.getUserObject()); } @Override public void treeNodesInserted(TreeModelEvent e){ System.out.println("New Node Inserted"); } @Override public void treeNodesRemoved(TreeModelEvent e){ System.out.println("Node Deleted"); } @Override public void treeStructureChanged(TreeModelEvent e){ System.out.println("structure changed"); } class MouseHandle2 extends MouseAdapter{ @Override public void mousePressed(MouseEvent e){ try{ TreePath treePath = tree.getSelectionPath(); /*JTree tree = (JTree)e.getSource(); int rowLocation = tree.getRowLocation(e.getX(),e.getY()); TreePath treePath = tree.getPathForRow(rowLocation); */ DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode)treePath.getLastPathComponent(); // TreeNode treeNode2 = (DefaultMutableTreeNode)treePath.getLastPathComponent(); nodeName = (String) treeNode.getUserObject(); }catch(NullPointerException ne){ System.out.println("nullpointer"); } } } }
參考:深入淺出Java Swing程序設計
发表评论
-
swt tree demo with a text editor
2012-12-25 16:41 1556项目需要,从XML中读取数据生成一个Tree,然后可以对叶子节 ... -
Paint in AWT andSwing
2012-04-20 21:32 0jdk 1.0中用的是AWT,有一个缺点,就是每个组件要和一个 ... -
SwingUtilities的invokeLater和invokeAndWait
2012-02-28 18:00 1171参考: http://blog.csdn.net/bzwm/a ... -
swing第三方jar增强功能
2012-02-14 16:34 2527原文:http://hb.qq.com/a/20101220/ ... -
swing 日期组件
2012-02-03 15:35 1161/** * chega * 2011-9-21上午 ... -
java swing全屏显示方式
2012-02-01 11:01 5144覆盖任务栏和不覆盖任务栏见:http://blog.csdn. ... -
带有行标题的JTable
2012-01-06 15:59 1254/** * @author chega * thi ... -
JColorChooser
2010-07-18 21:25 1184import java.awt.*; import ja ... -
JFileChooser
2010-07-18 20:17 1251import java.awt.*; import ja ... -
AbstractAction
2010-07-18 10:00 1838import java.awt.*; import ja ... -
JMenuItem和JTollBar
2010-07-18 09:34 1560import java.awt.*; import ja ... -
JTree
2010-07-17 16:41 1214import java.awt.*; import ja ... -
JTree
2010-07-17 13:17 1093import java.awt.*; import ja ... -
UndoableEditListener 和 DocumentListener
2010-07-15 21:24 1370import java.awt.*; import ja ... -
JTable增刪行列
2010-07-14 19:57 1458import java.awt.*; import ja ... -
JTable背景色與Boolean類型數據顯示衝突的問題
2010-07-12 16:53 966import java.awt.*; import java ... -
JComboBox每個Item加圖標
2010-07-11 16:46 1293import java.awt.*; import java ... -
JComboBox
2010-07-11 16:33 1313JComboBox(ComboModel):可以繼承Abstr ... -
JList雙向列表
2010-07-11 15:43 817import java.awt.*; import java ... -
給JList每個Item加個圖標
2010-07-11 14:40 1414import java.awt.*; import ja ...
相关推荐
### 如何使用JTree:详解与实践 #### JTree简介 `JTree`是Java Swing中的一个组件,用于展示层次化的数据结构。它允许用户在应用程序中构建树形视图来表示目录结构、组织结构图等。`JTree`继承自`JComponent`类,...
在Java的Swing库中,`JTree`组件是一个用于展示层次数据的控件,它以树状结构显示数据。`jtree`标题所指的可能是关于如何在`JTree`中添加复选框(checkboxes)的功能。这通常是为了让用户能够多选树中的节点,进行...
在Java Swing库中,`JTree`是一个非常重要的组件,用于显示和操作树形数据结构。这个例子展示了如何实现一个可拖动节点的`JTree`,这在用户界面设计中是一个常见且实用的功能,特别是在需要展示层次结构信息时。`...
在Java Swing库中,`JTree`和`JTable`是两种非常重要的组件,用于创建用户界面。`JTree`通常用于展示层次化的数据结构,而`JTable`则适用于二维表格数据的显示和操作。本项目是关于如何在Java应用程序中结合使用这两...
在Java Swing库中,JTree和JTable是两个非常重要的组件,它们被广泛用于构建用户界面,特别是处理数据展示和交互。JTree用于显示层次结构的数据,而JTable则适用于二维表格形式的数据展现。 首先,我们来深入了解...
在Java编程中,`JTree`是Swing库中的一个组件,用于展示树形数据结构。这个组件在GUI(图形用户界面)应用中非常常见,因为它可以清晰地展示层次关系的数据,比如文件系统目录结构。在Java中动态实现二叉树,即在...
### JTree用法详解:Swing中的树状结构控件 在Java Swing中,`JTree`是一个非常重要的组件,用于展示层次结构的数据,如文件系统、组织结构图等。本文将详细介绍`JTree`的各种使用方法,包括如何创建、自定义外观、...
实现jTable和jTree的双向联动,点击jTree会选中jTable单元格,点击jTable会选中jTree节点。
在Java Swing库中,JTree是一个非常有用的组件,它用于展示层次结构的数据,例如文件系统、组织结构等。"jtree带复选框的例子"是一个关于如何在JTree中实现节点选择功能的示例,其中每个节点都有一个复选框供用户...
在IT领域,尤其是在Web开发中,`JTree`是一个常用组件,它用于在用户界面中展示数据的层次结构,比如文件系统、组织架构等。在本案例中,我们讨论的是一个使用JavaScript实现的JTree,这通常是通过HTML、CSS和...
在IT领域,JTree是一种广泛使用的Java Swing组件,它允许用户以树形结构来展示数据。这个组件在GUI(图形用户界面)应用中特别常见,因为它能清晰地组织层次化的信息,比如文件系统目录、数据库结构或者项目组织。...
在Java Swing中,JTree是一个非常重要的组件,用于展示层次结构的数据,通常以树状的形式显示。它在各种用户界面中都有广泛的应用,例如文件系统浏览、组织结构展示等。本教程将深入讲解如何使用JTree以及相关的操作...
### Java组件之JTree使用详解 #### 一、引言 `JTree`是Java Swing中的一个重要组件,用于展示层次化的数据结构。它提供了一种直观的方式来表示具有层级关系的数据,例如文件系统的目录结构或者组织架构等。本文将...
### JTree的用法详解 #### 一、引言 `JTree` 是 Java Swing 库中的一个重要组件,用于在图形用户界面 (GUI) 中显示层次结构数据。它非常适合用来展示具有分层关系的信息,例如文件系统目录结构、组织结构等。 ####...
在Java Swing库中,`JTree`组件是一个用于展示树形数据结构的可视化元素,它允许用户通过交互来浏览和操作这些数据。当我们在`JTree`中添加了复选框(CheckBox),我们增强了它的功能,使用户可以对每个节点进行选择...
在Java Swing库中,JTree组件是一个非常有用的可视化控件,用于展示层次化的数据结构,如文件系统目录或组织结构图。这篇博文将探讨如何在Java应用程序中有效地使用JTree。 首先,理解JTree的基本概念至关重要。...
JTree设置不同图标 在 Java 中,JTree 是一个非常有用的组件,常用于显示树形结构的数据。但是,JAVA 自带的 JTree 功能狭窄,运用起来非常的不方便,不灵活。例如,在已经添加的节点中不能更改其文本信息和图片...
**JTree的Doc文档详解** Java Swing库中的`JTree`组件是用于显示和操作树状数据结构的可视化工具。这个组件允许用户以图形化的方式查看层次化的信息,如文件系统目录、数据库结构或者应用程序的对象模型。在Java...
**JTree 2.0:构建直观的目录树视图** `JTree`是Java Swing库中的一个组件,用于在用户界面中展示层次结构数据,通常表现为目录树的形式。在`JTree2.0`版本中,这个组件得到了进一步的改进和增强,提供更丰富的功能...