广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州JavaFX树视图的用户域模型是什么?_北大青鸟IT学校

作者:邓华发布时间:2021-05-20分类:Java技术浏览:748


导读:JavaFX树视图的用户域模型是什么?这是大家在学习Java的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么解答的。

JavaFX树视图的用户域模型是什么?这是大家在学习Java的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么解答的。

以下代码显示了如何使用用户域模型数据与TreeView。

创建Employee类以捕获用户域模型,并且代码使用循环将所有员工添加到树视图。

/*  

* Copyright (c) 2008, 2014, Oracle and/or its affiliates.  

* All rights reserved. Use is subject to license terms.  

* This file is available and licensed under the following license:

*  

* Redistribution and use in source and binary forms, with or without  

* modification, are permitted provided that the following conditions  

* are met:  

*  

*  - Redistributions of source code must retain the above copyright  

*    notice, this list of conditions and the following disclaimer.  

*  - Redistributions in binary form must reproduce the above copyright  

*    notice, this list of conditions and the following disclaimer in  

*    the documentation and/or other materials provided with the distribution.  

*  - Neither the name of Oracle nor the names of its  

*    contributors may be used to endorse or promote products derived  

*    from this software without specific prior written permission.  

*  

* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  

* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT  

* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR  

* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  

* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,  

* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT  

* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 

* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY  

* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT  

* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 

 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  

*/ 

import java.util.Arrays; 

import java.util.List; 

import javafx.application.Application; 

import javafx.beans.property.SimpleStringProperty; 

import javafx.scene.Node; import javafx.scene.Scene; 

import javafx.scene.control.TreeItem; 

import javafx.scene.control.TreeView; 

import javafx.scene.image.Image; 

import javafx.scene.image.ImageView; 

import javafx.scene.layout.VBox; 

import javafx.scene.paint.Color; 

import javafx.stage.Stage; 

public class Main extends Application {

     List<Employee> employees = Arrays.<Employee>asList(

             new Employee("a1", "A"),

             new Employee("a2", "A"),

             new Employee("e1", "E"));

     private final Node rootIcon =  new ImageView(new Image(getClass().getResourceAsStream("root.png")));

     TreeItem<String> rootNode = new TreeItem<String>("Root",rootIcon);

     public static void main(String[] args) {

         Application.launch(args);

     }

     @Override

     public void start(Stage stage) {

         rootNode.setExpanded(true);

         for (Employee employee : employees) {

             TreeItem<String> empLeaf = new TreeItem<String>(employee.getName());

             boolean found = false;

             for (TreeItem<String> depNode : rootNode.getChildren()) {

                 if (depNode.getValue().contentEquals(employee.getDepartment())){

                     depNode.getChildren().add(empLeaf);

                     found = true;

                     break;

                 }

             }

             if (!found) {

                 TreeItem depNode = new TreeItem(employee.getDepartment());

                 rootNode.getChildren().add(depNode);

                 depNode.getChildren().add(empLeaf);

             }

         }

         stage.setTitle("Tree View Sample");

         VBox box = new VBox();

         final Scene scene = new Scene(box, 400, 300);

         scene.setFill(Color.LIGHTGRAY);

        TreeView<String> treeView = new TreeView<String>(rootNode);

         treeView.setShowRoot(true);

         treeView.setEditable(true);

         box.getChildren().add(treeView);

         stage.setScene(scene);

         stage.show();

     }

     public static class Employee {

         private final SimpleStringProperty name;

         private final SimpleStringProperty department;

         private Employee(String name, String department) {

             this.name = new SimpleStringProperty(name);

             this.department = new SimpleStringProperty(department);

         }

         public String getName() {

             return name.get();

         }

         public void setName(String fName) {

             name.set(fName);

         }

         public String getDepartment() {

             return department.get();

         }

         public void setDepartment(String fName) {

             department.set(fName);

         }

     }

 }

想了解更多关于Java的资讯吗?可以来惠州北大青鸟新方舟校区了解一下。

java3.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学 校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表