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

Vaadin Web应用开发教程(19):UI组件-Tree 组件

阅读更多

Tree 组件可以用来显示具有层次关系的数据源,比如文件系统。Tree组件的一个典型应用是作为菜单显示。

final Object[][] planets = new Object[][]{
        new Object[]{"Mercury"},
        new Object[]{"Venus"},
        new Object[]{"Earth", "The Moon"},
        new Object[]{"Mars", "Phobos", "Deimos"},
        new Object[]{"Jupiter", "Io", "Europa", "Ganymedes",
                                "Callisto"},
        new Object[]{"Saturn",  "Titan", "Tethys", "Dione",
                                "Rhea", "Iapetus"},
        new Object[]{"Uranus",  "Miranda", "Ariel", "Umbriel",
                                "Titania", "Oberon"},
        new Object[]{"Neptune", "Triton", "Proteus", "Nereid",
                                "Larissa"}};

Tree tree = new Tree("The Planets and Major Moons");

// Add planets as root items in the tree.
for (int i=0; i    String planet = (String) (planets[i][0]);
    tree.addItem(planet);

    if (planets[i].length == 1) {
        // The planet has no moons so make it a leaf.
        tree.setChildrenAllowed(planet, false);
    } else {
        // Add children (moons) under the planets.
        for (int j=1; j            String moon = (String) planets[i][j];

            // Add the item as a regular item.
            tree.addItem(moon);

            // Set it to be a child.
            tree.setParent(moon, planet);

            // Make the moons look like leaves.
            tree.setChildrenAllowed(moon, false);
        }

        // Expand the subtree.
        tree.expandItemsRecursively(planet);
    }
}

main.addComponent(tree);

当然你可以选择合适的Menu风格使得Tree看起来更像菜单,比如:

注:到这里你可能注意到到目前为止在介绍UI组件时文章都避免涉及CSS,Theme应用,这是为的使Vaadin应用开发更像开发桌面应用,后面会集中介绍主题的使用,对于一般应用你可以使用缺省主题。

同Field组件一样,你可以使用getValue,setValue 设置或取得Tree组件当前选中的Item项。Tree组件对应的Container类型为HierarchicalContainer.

 

分享到:
评论

相关推荐

    android-json-0.0.20131108.vaadin1-API文档-中文版.zip

    赠送jar包:android-json-0.0.20131108.vaadin1.jar; 赠送原API文档:android-json-0.0.20131108.vaadin1-javadoc.jar; 赠送源代码:android-json-0.0.20131108.vaadin1-sources.jar; 赠送Maven依赖信息文件:...

    org.vaadin.addons.dcharts-widget-0.10.0-dcharts-widget-0.10.0.jar

    org.vaadin.addons.dcharts-widget-0.10.0-dcharts-widget-0.10.0.jar

    android-json-0.0.20131108.vaadin1-API文档-中英对照版.zip

    赠送jar包:android-json-0.0.20131108.vaadin1.jar; 赠送原API文档:android-json-0.0.20131108.vaadin1-javadoc.jar; 赠送源代码:android-json-0.0.20131108.vaadin1-sources.jar; 赠送Maven依赖信息文件:...

    vaadin-menu-bar:Web组件,用于显示带有多级子菜单的水平菜单

    是一个Web组件,提供应用程序菜单功能,是一部分。 < vaadin> </ vaadin> 安装 安装vaadin-menu-bar : npm i @vaadin/vaadin-menu-bar --save 安装后,将其导入您的应用程序: import '@vaadin/vaadin-menu-...

    Vaadin-来自北欧的Web应用开发利器

    Vaadin,源自北欧的Web应用开发利器,是一款由芬兰ITMill公司开发的开源富互联网应用程序(Rich Internet Applications,简称RIA)开发框架。其历史可追溯至2000年,最初以Millstone用户界面类库的形式出现,经过多...

    book-of-vaadin

    ### Vaadin:服务器端 AJAX Web 应用程序开发框架 #### 概述 Vaadin 是一种服务器端 AJAX Web 应用程序开发框架,它允许开发者使用 Java 构建高质量的用户界面。该框架提供了一系列现成可用的用户界面组件以及一个...

    基于SpringBoot与VAADIN开发的天气预报App项目-源码

    这个项目提供了完整的源码,对于学习Spring Boot和Vaadin的集成,以及如何开发Web应用程序来说,是一个很好的实践案例。通过研究这个项目,开发者可以深入了解如何在实际项目中运用这两个框架,理解它们的交互机制,...

    Vaadin的UI组件CSS样式规则

    总结以上,Vaadin的UI组件CSS样式规则为开发者提供了灵活而强大的方式来定制和控制Web应用界面的外观和行为。无论是通过简单的类选择器改变样式,还是使用复杂的布局技巧控制尺寸,Vaadin的CSS样式规则都为Web开发者...

    vaadin-date-time-picker:日期时间选择器的Web组件。 Vaadin组件的一部分

    | < vaadin> </ vaadin>安装安装vaadin-date-time-picker : npm i @vaadin/vaadin-date-time-picker --save 安装后,将其导入您的应用程序: import '@vaadin/vaadin-date-time-picker/vaadin-date-time-picker.js...

    dcharts-widget

    **dcharts-widget** 是一个基于 **dcharts** 库构建的可视化组件库,它为开发者提供了丰富的图表选项,便于在Web应用中实现交互式的数据可视化。dcharts-widget旨在简化数据展示的过程,使得开发者无需深入了解底层...

    vaadin中文版

    "Vaadin中文版"是该框架的中文资源,特别是"book-of-vaadin-cn",这是一本由Vaadin社区热心群友独立翻译的中文教程,旨在帮助中文用户更好地理解和使用Vaadin框架。 这本书可能涵盖了以下关键知识点: 1. **Vaadin...

    vaadin-microservices-demo:使用Spring Cloud和Vaadin开发的一个微服务示例

    cd vaadin-microservices-demo mvn package 运行演示 使用多个(七个)终端执行以下步骤: 1)启动discovery-server应用程序(Eureka应用程序): cd vaadin-microservices-demo/discovery-server java -jar ...

    vaadin-rich-text-editor:用于富文本输入的Web组件。 Vaadin组件的一部分。 https:vaadin.comcomponents

    < vaadin> </ vaadin>安装安装vaadin-rich-text-editor : npm i @vaadin/vaadin-rich-text-editor --save 安装后,将其导入您的应用程序: import '@vaadin/vaadin-rich-text-editor/vaadin-rich-text-editor.js' ...

    基于Vaadin的Web,App开发.docx

    Vaadin 是一个强大的Java Web应用程序开发框架,专为构建富互联网应用(RIA)而设计,尤其适合开发响应式和交互性强的Web应用。这个框架利用HTML5技术,使其能够适应移动设备,为开发者提供了创建移动Web App的解决...

    vaadin教程

    Vaadin是一个面向Java开发者的基于AJAX的Web应用开发框架,它允许开发者使用Java来构建高质量的用户界面,无论是在服务器端还是客户端。Vaadin提供了一系列现成的用户界面组件库和一个清晰的框架,用于创建自定义...

    Vaadin中文开发资料

    1. **先进的UI组件框架**:Vaadin提供了一套丰富的内建Java UI组件,包括布局管理、事件监听和数据绑定机制。这些组件支持MVC模式,允许使用HTML模板或Java代码来构建和管理界面。 2. **可定制的界面外观**:Vaadin...

    book of vaadin

    - **核心特性**:Vaadin是一款基于服务器端的AJAX Web应用开发框架,它允许开发者利用Java语言构建高质量的用户界面。该框架提供了丰富的预置用户界面组件库以及一个简洁的自定义组件创建框架。其设计宗旨在于提高...

    vaadin-touchkit-agpl-3.0.0

    Vaadin TouchKit AGPL 3.0.0是一款强大的移动应用开发框架,专为Java开发者设计,旨在帮助他们构建高性能、交互式的触屏友好应用程序。这款工具集成了HTML5技术,使得开发者能够利用现代Web标准来创建丰富的用户界面...

Global site tag (gtag.js) - Google Analytics