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

如何在JavaFX中使用字符串数组列表填充TableView

在JavaFX中,可以使用字符串数组列表来填充TableView。以下是一种实现方法:

  1. 首先,创建一个TableView对象和一个TableColumn对象,用于显示字符串数组列表的数据。
代码语言:java
复制
TableView<String[]> tableView = new TableView<>();
TableColumn<String[], String> column = new TableColumn<>("数据");
  1. 然后,设置TableColumn的CellValueFactory,用于从字符串数组中提取数据并显示在TableView中。
代码语言:java
复制
column.setCellValueFactory(cellData -> {
    String[] rowData = cellData.getValue();
    if (rowData != null && rowData.length > 0) {
        return new SimpleStringProperty(rowData[0]);
    } else {
        return new SimpleStringProperty("");
    }
});
  1. 接下来,创建一个ObservableList对象,用于存储字符串数组列表的数据。
代码语言:java
复制
ObservableList<String[]> data = FXCollections.observableArrayList();
  1. 将数据添加到ObservableList中。
代码语言:java
复制
String[] dataRow1 = {"数据1"};
String[] dataRow2 = {"数据2"};
data.add(dataRow1);
data.add(dataRow2);
  1. 最后,将ObservableList设置为TableView的数据源。
代码语言:java
复制
tableView.setItems(data);

完整的示例代码如下:

代码语言:java
复制
import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.stage.Stage;

public class TableViewExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        TableView<String[]> tableView = new TableView<>();
        TableColumn<String[], String> column = new TableColumn<>("数据");
        column.setCellValueFactory(cellData -> {
            String[] rowData = cellData.getValue();
            if (rowData != null && rowData.length > 0) {
                return new SimpleStringProperty(rowData[0]);
            } else {
                return new SimpleStringProperty("");
            }
        });

        ObservableList<String[]> data = FXCollections.observableArrayList();
        String[] dataRow1 = {"数据1"};
        String[] dataRow2 = {"数据2"};
        data.add(dataRow1);
        data.add(dataRow2);

        tableView.setItems(data);
        tableView.getColumns().add(column);

        Scene scene = new Scene(tableView);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

这样,就可以在JavaFX中使用字符串数组列表填充TableView了。

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

相关·内容

  • 优化在 SwiftUI List 中显示大数据集的响应效率

    考虑到当前的卡顿出现在进入视图的时刻,我们可以将查找问题的关注点集中在如下几个方面: Core Data 的性能( IO 或 惰值填充列表视图的初始化或 body 求值 List 的效能 Core...虽然我们已经找到了导致进入列表视图卡顿的原因,但如何在不影响效率的情况下通过 scrollTo 来实现到列表端点的滚动呢?...fetchRequest.fetchBatchSize = 50 fetchRequest.returnsObjectsAsFaults = true // 每页数据较少,可直接对其进行惰值填充,进一步提高效率...不使用 @FetchRequest 或 NSFetchResultController 等动态管理方式,数组来持有数据 通过设置 NSPredicate 、NSSortDescription 和 fetchRequest.fetchLimit...获取若干最新数据,将数据逆向添加入数组列表显示后率先移动到最底端(取消动画) 通过 refreshable 调用下一批数据,并继续逆向添加入数组 类似的思路,还可以实现向下增量读取或者两端增量读取

    9.2K20

    iOS-UI控件之UITableView(一)

    UITableView 介绍 UITableView 是用来用列表的形式显示数据的UI控件 举例 QQ好友列表 通讯录 iPhone设置列表 tableView 常见属性 // 设置每一行cell...{ //返回的是一个数组数组中的元素是显示信息,只是提示,结果还是按索引位置分组 return [NSArray arrayWithObjects:@"a",@"b",@"c",@"...时可能会得到错误类型的UITableViewCell 解决方案:UITableViewCell有个NSString *reuseIdentifier属性,可以在初始化UITableViewCell的时候传入一个特定的字符串标识来设置...reuseIdentifier(一般UITableViewCell的类名)。...当UITableView要求dataSource返回UITableViewCell时,先通过一个字符串标识到对象池中查找对应类型的UITableViewCell对象,如果有,就重用,如果没有,就传入这个字符串标识来初始化一个

    1.8K130

    iOS 9 Storyboard 教程(二下)

    试一下,现在你应该可以向列表添加新的玩家了! ?...现在让我们给这个新的控制器一些数据来显示吧.在GamePickerViewController.swift中,把一个具有硬编码值的games字符串数组添加到顶部: var games:[String]...text = games[indexPath.row] return cell } 你只是使用games数组设置了数据源并且把字符串的值放到了单元格的textLabel里....你没有写任何代码调用新的控制器.你只是按住ctrl键并从静态table view cell拖拽出了新的控制器.你写的唯一的代码就是填充tableView的内容,这通常是更动态的而不是硬编码列表....你需要改变PlayerDetailsViewController的prepareForSegue(_:sender:)方法来返回一个选中的游戏,而不是硬编码为”Chess”.当你完成添加一个玩家的时候,这种方式

    2.2K10

    ApacheCN Java 译文集 20211012 更新

    列表优于数组 29. 优先考虑泛型 30. 优先使用泛型方法 31. 使用限定通配符来增加 API 的灵活性 32. 合理地结合泛型和可变参数 33. 优先考虑类型安全的异构容器 34....13.2 基本程序片 13.3 制作按钮 13.4 捕获事件 13.5 文本字段 13.6 文本区域 13.7 标签 13.8 复选框 13.9 单选钮 13.10 下拉列表 13.11 列表框 13.12...大公司的面试是什么样的 三、常见非技术性问题及解答 四、如何处理失败 五、如何应对编码挑战 第二节:概念 六、面向对象编程 七、算法的大 O 分析 八、递归与动态规划 九、位操作 第三节:算法和数据结构 十、数组字符串...十七、函数式编程 十八、单元测试 十九、系统可扩展性 Java 基础知识 零、序言 一、Java 简介 二、变量、数据类型和运算符 三、控制流程 四、面向对象编程 五、深入 OOP 六、数据结构、数组字符串...JavaFX 桌面和 Web 应用 四、为 Android 开发 JavaFX 应用 五、为 iOS 开发 JavaFX 应用 六、在 Raspberry Pi 上运行 JavaFX 应用 七、使用

    2.5K10

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

    上面的这些属性,将会被用来描述每一个我们在tableView中有的cell.在app级的术语,我们要做的就是使用一个简单易用的属性列表(plist)文件.在这个plist文件中,我们需要合适地填充这些在所有...,它的每一项在tableView里都代表一组.这就意味着,在plist文件里,根数组里包含三个项(item),和我们想要在tableView里显示的数量一样多.....在下面的部分,这个数组将会被用作tableView数据源的一部分....cell描述符.正如你在下面代码里看到的,往visibleRowsPerSection数组填充数据是这个新函数功能的前提. func getCellDescriptorForIndexPath(indexPath...,并且填充了cell描述符的值,那么我们返回的是子数组的大小.

    1.8K50

    Oracle Java类和对象

    您可以使用基本类型,int、float、boolean等,也可以使用引用类型,字符串数组或对象。...括号中的参数列表—以逗号分隔的输入参数列表,前面是它们的数据类型,括号()括起来。如果没有参数,则必须使用空括号。 稍后将讨论的例外列表。...您还将了解当对象的生命结束时,系统如何在对象之后进行清理。 创建对象 您所知,类提供对象的蓝图;从类创建对象。...内部类示例 要查看正在使用的内部类,首先考虑一个数组。在下面的示例中,您创建一个数组整数值填充它,然后按升序只输出数组偶数索引的值。...在本例中,Consumer对象是一个lambda表达式,它打印一个字符串,该字符串是Function对象返回的电子邮件地址。 您可以聚合操作替换这些操作中的每一个。

    87500

    iOS开发·KVC:字典转模型,防止因本地未定义字段(后台的字段与本地字符串名不一致)导致数据转换过程中的奔溃

    将后台JSON数据中的字典转成本地的模型,我们一般选用部分优秀的第三方框架,SBJSON、JSONKit、MJExtension、YYModel等。...建模 假设网络请求图片信息并在APP的界面上展示,这里新建一个图书图片的模型,id表示图书的ID,imgUrl是图书的封面地址(可以SDWebImage加载该图),nameStr时图书的名字,introduceStr...示例 假设,APP本地里面plist写了一个字典数组,然后写一个CustomerListModel模型。...现在,需要将这个plist字典数组转换成CustomerListModel模型数组,并在VC取值出来赋给表单元cell的模型数组,用于展示数据。...if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView

    1.5K20

    swift4.0语法杂记(精简版)

    数组是有序数据的集,集合是无序无重复数据的集,而字典则是无序的键值对的集。 数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。...1、定义数组 let定义出来的数组就是不可变的 //定义不可变数组 let array = ["爱丽丝","小红帽","白雪公主"] 使用var来定义可变数组。...格式如下: func 函数名(参数列表)-> 返回值类型 { 代码块 return 返回值 } func表示关键字,多个参数列表之间逗号隔开,也可以没有参数。使用->指向返回值类型。...1、定义闭包 闭包的格式是(参数列表)->(返回值类型) in 实现代码 举一个最简单的栗子? 常量记录一个代码块,按住option键就能看到,b1是一个闭包。再到适合的地方去调用它。 ?...String 2、字符串 Unicode 字符串在计算 count 时的正确性改善 在 Unicode 中,有些字符是由几个其它字符组成的,比如 é 这个字符,它可以 \u{E9} 来表示,也可以

    15.4K90

    在iOS中怎样创建可展开的Table View?(下)

    .注意,这个字符串在代理方法中是一个字符串....primaryTitle") tblExpandable.reloadData() } 最后,是控制"Work Experience"组的滑块控件的cell.当用户改变了滑块的值,我们想要两件事情同时发生:滑块的值更新顶级...总结 正如我开始说的,创建可展开的tableView在某些时候真的很有用,从麻烦当中创建新的视图控制器,可以这种tableView来处理,它可以为app节省时间.在这次教程先前的部分,我向你提出了一种创建可展开...tableView的方法,主要的特点就是在一个plist文件中,所有cell的描述都使用具体的属性.我向你展示了当cell显示,打开或是选中的时候,如何使用代码处理cell的描述列表;此外,我给了你一个方法通过用户输入数据来直接更新它...(例如,将cell描述列表保存到文件),然而,那已经超出了我们的目标;我们最开始所想的是实现一个可展开的tableView,根据需求显示或隐藏cell,以及我们最终所做的.我相信,在这篇教程中你会找到左右有用的信息

    1.5K30

    iOS面向切面的TableView-AOPTableView

    void *)object_getIvar)(observance, _oivar); } /// 不知道为什么,iOS11 返回的值 会填充...对应的方法的时候,把业务的规则转换为真实列表的规则,比如下面的业务端调用了cellForRowAtIndexPath这个方法,会走到如下的方法中,这里的indexPath是业务自己的indexPath,...比如在列表可见的第五个位置,但是前面是有两个广告,在业务端的逻辑中该indexPath对应的位置是在第三个位置的,所以需要进行修正,返回正确的IndexPath,获取到对应位置的Cell,这样才不会有问题...NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"%@", self.aopUtils.allModels); }); } 在demo中使用了如上的代码调用...,sectionMap中保存的数据如下,key为section,value是对应section下所有插入数据的IndexPath数组,sectionMap数据会用于处理真实数据和业务数据之间的映射 [1240

    1K00

    C++ Qt开发:StandardItemModel数据模型组件

    role 参数指定要获取的数据的角色, Qt::DisplayRole 表示显示文本。...当读取结束后,直接关闭文件,并调用 iniModelFromStringList 函数,该函数根据字符串列表的内容初始化数据模型。...获取表头 header,并将其分割成一个字符串列表 headerList,作为模型的水平表头标签。 循环处理每一行数据,分割每行的文本为一个字符串列表 tmpList。...这个函数主要完成了从字符串列表中获取数据并初始化到 TableView 模型的过程,包括表头的设置、数据的提取和状态的处理。...// 【初始化填充TableView】:从传入的StringList中获取数据,并将数据初始化到TableView模型中 void MainWindow::iniModelFromStringList(

    37110

    RxSwift介绍(一)——RxSwift初探

    这里往往需要遵循TableView相关的各种代理方法,下面是使用结构体生成一串简单的数组并放入tableView中显示内容。...tableView在swift环境下的实现 遵循的tableView代理方法还是一既往的繁多 接下来,在使用RxSwift框架下改造上面的tableView,来感受下RxSwift的强大。...self.firstKey = firstKey self.secondKey = secondKey } } struct DemoViewModel { //结构体中的数组被包装成了...在RAC中使用的组合式销毁来集中管理销毁RACSignal,而在RxSwift中与RAC类似的使用到了DisposeBag来实现Observable的集中销毁管理。...关于RxSwift,计划在最后放几个自己RxSwift实现的小demo,毕竟纸上得来终觉浅,还是要放到项目中体会。

    3.1K40
    领券