首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在TableView中显示ArrayList<List<String>>的值(JavaFX)

在JavaFX中,可以使用TableView来显示ArrayList<List<String>>的值。TableView是一个可编辑的表格视图,可以用于显示和编辑数据。

首先,我们需要创建一个TableView对象,并设置它的列数和行数。然后,我们可以通过调用TableView的getColumns()方法来获取列对象的集合,然后为每一列设置标题和数据。

下面是一个示例代码,演示如何在TableView中显示ArrayList<List<String>>的值:

代码语言:txt
复制
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

import java.util.ArrayList;
import java.util.List;

public class TableViewExample extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        // 创建TableView对象
        TableView<List<String>> tableView = new TableView<>();

        // 创建列对象
        List<TableColumn<List<String>, String>> columns = new ArrayList<>();

        // 设置列标题和数据
        for (int i = 0; i < 3; i++) {
            TableColumn<List<String>, String> column = new TableColumn<>("Column " + (i + 1));
            final int columnIndex = i;
            column.setCellValueFactory(cellData -> {
                List<String> row = cellData.getValue();
                if (row != null && row.size() > columnIndex) {
                    return new PropertyValueFactory<>(row.get(columnIndex));
                } else {
                    return new PropertyValueFactory<>("");
                }
            });
            columns.add(column);
        }

        // 将列添加到TableView中
        tableView.getColumns().addAll(columns);

        // 创建数据
        List<List<String>> data = new ArrayList<>();
        List<String> row1 = new ArrayList<>();
        row1.add("Value 1");
        row1.add("Value 2");
        row1.add("Value 3");
        data.add(row1);
        List<String> row2 = new ArrayList<>();
        row2.add("Value 4");
        row2.add("Value 5");
        row2.add("Value 6");
        data.add(row2);

        // 将数据添加到TableView中
        ObservableList<List<String>> observableData = FXCollections.observableArrayList(data);
        tableView.setItems(observableData);

        // 创建布局并显示
        VBox root = new VBox(tableView);
        Scene scene = new Scene(root, 400, 300);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

在这个示例中,我们创建了一个包含3列的TableView,并使用ArrayList<List<String>>作为数据源。然后,我们创建了两行数据,并将它们添加到TableView中。

这个示例中使用的腾讯云相关产品和产品介绍链接地址如下:

  • 腾讯云产品:云服务器(https://cloud.tencent.com/product/cvm)
  • 腾讯云产品:云数据库 MySQL 版(https://cloud.tencent.com/product/cdb_mysql)
  • 腾讯云产品:云存储(https://cloud.tencent.com/product/cos)
  • 腾讯云产品:人工智能(https://cloud.tencent.com/product/ai)
  • 腾讯云产品:物联网(https://cloud.tencent.com/product/iotexplorer)
  • 腾讯云产品:移动开发(https://cloud.tencent.com/product/mobdev)
  • 腾讯云产品:区块链(https://cloud.tencent.com/product/baas)
  • 腾讯云产品:元宇宙(https://cloud.tencent.com/product/metaspace)

请注意,以上链接仅供参考,具体的产品选择应根据实际需求进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Using JavaFX UI Controls 12 Table View

很多JavaFX SDK API种类为表格表单呈现数据。JavaFX 应用对创建表格最重要TableView, TableColumn和TableCell这三个类。...例子 12-1, 表格组件被添加到 VBox  布局容器,然而你也可以直接将其添加到应用场景。 例子 12-1定义了3列将用来存放地址簿信息:一个联系人 姓和名以及电子邮箱地址。...这样如果调用 getFirstName方法经返回firstName属性,可以通过调用setFirstName方法来为这个属性赋值 。 在数据模型已经Person 类呈现以后。...Person 构造方法,并添加到 data (observable list。...例12-12,数据行 hash map(哈希map) 展现了TableView对象一个单行。

11.3K20

优化 SwiftUI List 显示大数据集响应效率

考虑到当前的卡顿出现在进入视图时刻,我们可以将查找问题关注点集中如下几个方面: Core Data 性能( IO 或 惰填充 ) 列表视图初始化或 body 求值 List 效能 Core...也就是当显示主界面菜单时,列表视图已经完成了实例创建(可以通过 ListEachRowHasID 构造函数添加打印命令得以证明),因此也不应是实例化列表视图导致延迟。... SwiftUI 视图生命周期研究[3] 一文,我对 List 如何对子视图显示进行优化做了一定介绍。...当仅通过 ForEach 来指定显示标识时,List 会对这些视图显示进行优化,仅在需要显示时才会对其进行实例化。...使用了 id 修饰符相当于将这些视图从 ForEach 拆分出来,因此丧失了优化条件。 总之,当前在数据量较大情况下,应避免 List 对 ForEach 子视图使用 id 修饰符。

9.1K20

Using JavaFX UI Controls 18 超链接

图18-1 展示了默认超链接实现3状态 图 18-1 超链接组件3状态 创建一个超链接 例 18-1 展示创建超链接代码片段 例18-1 典型超链接 Hyperlink link...链接本地内容 图18-2展示应用从本地目录渲染图片 图 18-2 显示图片 展示例 18-2源代码: 例 18-2利用超链接浏览图片 import javafx.application.Application...因此图片数组对应图片设置到selectedImage 变量。当用户点击一个超链接,超链接将显示被访问过。你可以通过调用setVisited 方法来刷新超链接。...下一节程序将展示既使用标题也使用图片来创建超链接和加载远程html页面。 链接远程内容 在你JavaFx程序,通过嵌入WebView 浏览器组件来渲染 HTML内容。...当点击其中一个超链接时,对应作为URL传给镶嵌浏览器。

1.5K50

手拉手JavaFX场景

()摆放每一个子节点setHgrow(hbox,Priority.ALWAYS);javafx有4控件来表示多项数据ListView:列表TreeView:树TableView:表格TreeTableView...DEFAULT 光标默认Cursor DISAPPEAR 光标消失Cursor CLOSED_HAND 光标闭合手Contextmenudemo 上下文菜单演示Cursor E _ RESIZE...javafx.application.Platform;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.image.Image...BorderPane顶部和底部区域允许可调整大小节点占用所有可用宽度。左边界区域和右边界区域占据顶部和底部边界之间可用垂直空间。默认情况下,所有边界区域尊重子节点首选宽度和高度。...放置顶部,底部,左侧,右侧和中心区域中节点默认对齐方式如下:● 顶部: Pos.TOP_LEFT● 底部: Pos.BOTTOM_LEFT● 左侧: Pos.TOP_LEFT● 右侧: Pos.TOP_RIGHT

13900

5. Bean Validation声明式验证四大级别:字段、属性、容器元素、类

本文将非常实用,因为将要讲述是Bean Validation4个层级上验证方式,它将覆盖你使用过程方方面面,不信你看。...当把约束标注Property属性上时,将采用属性访问策略来获取要验证。说白了:会调用你Method来获取待校验。...形如List希望里面装每个Room都是合法,传统做法是for循环里对每个room进行验证: List beans = new ArrayList(); for (Room...rooms[1].finished只能为true,但你是: false rooms[1].finished只能为true,但你是: false 从日志可以看出,元素验证顺序是不保证。...小贴士:HV 6.0 之前版本,验证容器元素时@Valid是必须,也就是必须写成这样:List rooms才有效。

98720

5. Bean Validation声明式验证四大级别:字段、属性、容器元素、类

本文将非常实用,因为将要讲述是Bean Validation4个层级上验证方式,它将覆盖你使用过程方方面面,不信你看。...当把约束标注Property属性上时,将采用属性访问策略来获取要验证。说白了:会调用你Method来获取待校验。...形如List希望里面装每个Room都是合法,传统做法是for循环里对每个room进行验证: List beans = new ArrayList(); for (Room...rooms[1].finished只能为true,但你是: false rooms[1].finished只能为true,但你是: false 从日志可以看出,元素验证顺序是不保证。...小贴士:HV 6.0 之前版本,验证容器元素时@Valid是必须,也就是必须写成这样:List rooms才有效。

67110

iOS操作属性列表plist(增删改查)

引 iOS存储方式之一——属性列表plist,还是经常见到,可以很方便用来管理一些有序批量数据,特别是用来显示固定内容到表单上时,不需要在代码反复地繁琐编写数组,而可以plist属性列表中进行可视化操作...,极为便捷,本文讲解如何创建和使用plist列表,并显示表单上。...,OS XResource中找到Property List类型文件: 创建后会得到一个plist文件,初始如下: 可以看到有三列:Key、Type、Value,分别表示键名、类型和,这里初始类型是一个...这里我们在数组内添加三条数据,类型为String型,如图设置: 这样我们plist属性列表就设置好了,这种可视化操作非常方便,但其实plist本质是一个xml文件,我们可以xml形式下查看修改也是一样...变量,这样就可以代码操作这个Table View了,效果如图: 代码实现对plist操作并显示到Table View: 1、准备工作 先打开.h文件,添加TableView数据源和协议委托,并创建一个存储

1.4K20

【是时候升级java11了】 jdk11优势和jdk选择

(list); //copyOf判断是否是不可变集合类型,如果是直接返回 System.out.println(list == copy); // true var list = new ArrayList...(); // 这里返回正常集合 var copy = List.copyOf(list); // 这里返回一个不可变集合 System.out.println(list == copy...java11将java9标记废弃Java EE及CORBA模块移除掉。...但是Docker容器运行Java应用程序一直存在一个问题,那就是容器运行JVM程序设置内存大小和CPU使用率后,会导致应用程序性能下降。这是因为Java应用程序没有意识到它正在容器运行。...可以容器中使用内存和CPU约束来直接管理Java应用程序,其中包括: 遵守容器设置内存限制 容器设置可用CPU 容器设置CPU约束 JDK推荐 由于 Java 11 开始,Oracle

3.1K10

iOS怎样创建可展开Table View?(上)

上面的这些属性,将会被用来描述每一个我们tableView中有的cell.app级术语,我们要做就是使用一个简单易用属性列表(plist)文件.在这个plist文件,我们需要合适地填充这些在所有...,它每一项tableView里都代表一组.这就意味着,plist文件里,根数组里包含三个项(item),和我们想要在tableView显示数量一样多....现在是最好花费你时间时候了,更彻底地看这些属性以及所有那些我们将要显示tableView上cell.我们处理所需代码时候,通过cell描述很容易理解,我们需要为创建并且管理可扩展cell所写已经明显变少了...,每组总行数将会匹配在每一个组里可见cell个数.也就是说,在上面的实现,任意indexPath.row匹配到了visibleRowsPerSection里合适可见cell索引....关于包含开关控件cell,我们需要做有两件事:开关显示之前,我们就需要制定它显示文本(我们例子是不变,你可以CellDescriptor.plist文件里修改里卖弄),之后我们就看到了开关状态

1.8K50

Java FX制作小游戏

Java FX制作小游戏全栈学习Java,了解如何使用Java FX创建图形化界面是很重要一步。本篇文章将向您展示如何使用Java FX制作一个简单小游戏。...按照以下步骤:打开您IDE,并创建一个新Java项目。项目配置,选择Java FX作为项目的库和框架。创建一个主类 Main ,它将成为我们游戏入口点。... Main 类,编写以下代码:import javafx.application.Application;import javafx.scene.Scene;import javafx.scene.layout.Pane...应用程序必须继承Application类,并实现其start方法,该方法初始化应用界面和设置应用主舞台。...JavaFX提供了多种动画类(如Timeline、TranslateTransition、RotateTransition等)和插器(Interpolator),用于控制动画持续时间、循环、缓动效果等

22410
领券