`
sendliu
  • 浏览: 11156 次
社区版块
存档分类
最新评论

JList

阅读更多
import java.awt.*;

import javax.swing.*;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import java.util.Enumeration;


public class JTreeTest extends JFrame {

    //增加带滚动条容器
    JScrollPane jScrollPane1 = new JScrollPane();

    //创建树对象
    JTree treeObj = new JTree();

    public JTreeTest () {
        try {
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        getContentPane().setLayout(null);
        setSize(new Dimension(434, 347));
        setTitle("JTree Test");
        jScrollPane1.setBounds(new Rectangle(9, 9, 429, 317));
        this.getContentPane().add(jScrollPane1);
        expandTree(treeObj);
        jScrollPane1.getViewport().add(treeObj);
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    /**完全展开一个JTree    
     * @param tree JTree
    */
    public static void expandTree(JTree tree) {
        TreeNode root = (TreeNode) tree.getModel().getRoot();
        expandAll(tree, new TreePath(root), true);
    }

    /**    
    * 完全展开或关闭一个树,用于递规执行    
     * @param tree JTree    
    * @param parent 父节点    
     * @param expand 为true则表示展开树,否则为关闭整棵树    
     */
    private static void expandAll(JTree tree, TreePath parent, boolean expand) {

        //Traverse children
        TreeNode node = (TreeNode) parent.
                        getLastPathComponent();
        if (node.getChildCount() >= 0) {
            for (Enumeration e = node.children(); e.hasMoreElements(); ) {
                TreeNode n = (TreeNode) e.nextElement();
                TreePath path = parent.pathByAddingChild(n);
                expandAll(tree, path, expand);
            }
        }

        if (expand) {
            tree.expandPath(parent);
        } else {
            tree.collapsePath(parent);
        }
    }
   
    public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable(){

@Override
public void run() {
// TODO Auto-generated method stub
  new JTreeTest();
}

});
}
}
分享到:
评论

相关推荐

    图片+文字的Jlist

    在Java编程中,`JList` 是Swing组件库中的一个关键部分,它用于展示一系列的选项或元素供用户选择。在默认情况下,`JList` 只能显示字符串元素,但通过自定义渲染器(CellRenderer),我们可以扩展其功能以显示更...

    JList多选值的获取

    ### JList多选值的获取 #### 概述 在Java Swing中,`JList` 组件被广泛用于创建用户界面中的列表框。不同于选择框(通常指`JComboBox`),`JList` 支持多种选择模式,使得用户能够灵活地进行单选或多选操作。本文...

    JList点击空白处不让其选中最后一项

    在Java Swing中,`JList` 是一个常用的组件,用于展示一系列可选择的项。当用户点击`JList`的空白区域时,默认行为是选中列表的最后一项。这对于某些应用场景,比如带有右键菜单的界面,可能会带来不便,因为用户...

    JList动态改变图片

    在Java Swing库中,`JList`是一个常用的组件,用于展示一系列可选择的项。在这个特定的情况下,我们探讨的是如何利用`JList`来显示图片,并实现这些图片的动态变化。这在创建图像库、画廊应用或者进行图形用户界面...

    JList的一些用法

    ### JList在Java中的应用与特性详解 #### 引言 在Java的Swing图形用户界面库中,`JList`组件提供了展示列表项的强大功能,不仅能够支持单列或多列显示,还提供了丰富的事件处理机制,使得它成为构建用户交互界面时...

    JAVA JList使用例子

    在Java Swing库中,`JList`是一个非常重要的组件,用于显示一组可选择的项。在GUI应用程序中,它常用于展示列表数据,允许用户进行单选或多选操作。本篇将深入探讨如何使用`JList`以及如何为其添加滚动条。 首先,`...

    JList 上下左右拖动

    在Java Swing库中,`JList`是一个常用的组件,用于展示一系列可选择的项。它在用户界面设计中常用于创建列表视图,允许用户通过单击或键盘导航来选择项目。在本教程中,我们将深入探讨如何实现`JList`的上下左右拖动...

    java构建几种个性的JList

    在Java编程中,`JList` 是Swing组件库中的一个关键部分,它用于展示一系列选项,用户可以选择其中的一个或多个。本篇文章将深入探讨如何使用Java构建具有各种特性的`JList`,包括添加图片、实现拖放功能以及自定义...

    JList事件监听器的实现例子

    在Java Swing库中,`JList`是一个非常重要的组件,用于显示一组可选择的项。在用户与`JList`进行交互时,如选择、取消选择等操作,我们可能需要捕获这些事件并做出响应。这就涉及到事件监听器的使用。本教程将详细...

    swing中jlist点击事件demo

    swing中的jlist 代码中定义了两个jlist 从一个jlist双击列表项可以将该项从这个列表删除并添加至另外一个列表中去

    javaswing更酷的Jlist.pdf

    JavaSwing 中的 JList 组件自定义渲染器 JavaSwing 是一个功能强大且灵活的 GUI 组件库,提供了许多自定义组件的方式。JList 是其中的一个重要组件,用于显示列表数据。但是,JList 的默认外观并不美观,如何...

    Java Swing组件:Jlist学习笔记

    ### Java Swing 组件:JList 学习笔记 #### JList 概述 JList 是 Java Swing 中的一个重要组件,用于展示列表项。它能够帮助开发者实现数据的动态展示、编辑以及选择等功能,广泛应用于各种桌面应用软件界面设计中...

    java_swing_更酷的Jlist.

    ### Java Swing 更酷的 JList:实现列表项带有图片标签 在Java Swing中,`JList` 是一个非常有用的组件,用于展示一个可滚动的列表。对于那些希望为列表增加更多视觉元素(如图片)的应用程序来说,使用 `...

    JList中使用JCheckBox示例

    在Java Swing库中,`JList`是一个常用的组件,用于展示一系列可选择的项。它通常用于用户需要从多个选项中进行单选或多选的场景。在这个示例中,我们将探讨如何在`JList`中集成`JCheckBox`,使得用户能够通过勾选复...

    JFC Swing活学活用系列之定制JList显示.rar

    本资料“JFC Swing活学活用系列之定制JList显示”聚焦于如何利用Swing中的JList组件来实现自定义的显示效果。 JList是一个可滚动的组件,允许用户从一系列选项中进行选择。默认情况下,JList会按照字符串形式展示...

    用JComboBox和JList实现的一个文件浏览器组件

    在Java Swing中,`JComboBox`和`JList`是两种常用的用户界面组件,用于创建交互式的下拉列表和多选列表。在这个“文件浏览器组件”中,它们被巧妙地结合在一起,为用户提供了一个功能丰富的文件浏览和选择的界面。这...

    java swing带复选框的JList控件

    在 Swing 中,`JList` 是一个常用的组件,用于显示一系列的项目,让用户进行选择。在许多情况下,我们可能需要在 `JList` 中添加复选框功能,让用户能够多选列表中的项。本文将详细介绍如何在 Java Swing 中创建一个...

    自定义JList

    在Java Swing库中,`JList`是一个常用的组件,用于展示一系列可选择的项。然而,标准的`JList`功能有限,有时我们需要对其进行自定义,以满足特定的应用场景需求,比如实现类似Android中`ListView`的效果。在这个...

    JList example

    在Java编程语言中,`JList` 是Swing库中的一个组件,用于显示一组可选择的项目。`JList` 可以用作单选或多选列表,常用于创建下拉菜单、列表视图等用户界面元素。在这个例子中,我们将深入探讨`JList` 的使用方法,...

    JList的使作

    JLIst的使用,主要是介绍基础

Global site tag (gtag.js) - Google Analytics