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

JavaFX - TableView - setItems : TableView类型中的方法setItems(ObservableList)没有显示任何内容

JavaFX是一个用于构建富客户端应用程序的开发工具包。它提供了丰富的图形化用户界面(GUI)组件和丰富的功能,使开发人员能够轻松创建各种交互式应用程序。

TableView是JavaFX中的一个重要组件,用于显示和编辑表格数据。它提供了一个灵活的方式来展示数据,并支持对数据进行排序、过滤和编辑等操作。

setItems是TableView类中的一个方法,用于设置表格的数据源。它接受一个ObservableList参数,该参数是一个可观察的列表,可以动态地监听数据的变化并自动更新表格的显示。

使用setItems方法可以将数据集合与TableView关联起来,使得表格能够显示数据并响应用户的操作。当数据集合发生变化时,TableView会自动更新显示的内容,无需手动刷新。

下面是setItems方法的示例代码:

代码语言:txt
复制
TableView<Person> tableView = new TableView<>();
ObservableList<Person> data = FXCollections.observableArrayList(
    new Person("John", "Doe"),
    new Person("Jane", "Smith"),
    new Person("Bob", "Johnson")
);
tableView.setItems(data);

在上面的示例中,我们创建了一个TableView对象,并创建了一个包含Person对象的ObservableList作为数据源。然后,我们使用setItems方法将数据源与TableView关联起来,使得表格能够显示Person对象的属性。

TableView的setItems方法在以下场景中非常有用:

  1. 显示数据库查询结果:可以将数据库查询的结果集封装为ObservableList,然后使用setItems方法将数据显示在TableView中。
  2. 动态更新数据:当数据源发生变化时,可以通过修改ObservableList来更新TableView的显示内容,而无需手动刷新。
  3. 支持排序和过滤:TableView提供了内置的排序和过滤功能,可以通过setItems方法将经过排序和过滤的数据显示在表格中。

腾讯云提供了一系列与JavaFX开发相关的产品和服务,例如云服务器、云数据库、云存储等,可以帮助开发人员构建和部署JavaFX应用程序。具体的产品和服务信息可以参考腾讯云官方网站:腾讯云官方网站

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

相关·内容

Using JavaFX UI Controls 12 Table View

图12-3 带有嵌套列表格 尽管表格已经添加到应用,但是因为表格没有数据,标准标题“No content in table”(表格内容为空)将呈现在表格。...当数据模型已经定义完毕,数据已经添加并关联到对应列,你还可以通过TableView setItems 方法来添加表格数据::table.setItems(data)....因为ObservableList 对象能够跟踪表格元素任何变化,当其中数据变化,TableView 内容也自动更新。...当你开发自己应用时可以添加这些方法。 当前应用也没有检查是否键入了空值,如果没有提供任何值,点击添加按钮将在表格中键入一个空行。...将Map数据添加到表格JavaFX SDK 2.2开始,你可以往表格添加Map类型数据。

11.3K20

MVVM架构之自动增删改极简RecycleView实现

所以当我们传入List是这个类型时候,adapter就会将这个监听器传入ObsrvableList,一旦我们对数据源进行增删,那么该监听器相应方法就会被调用,刷新我们列表。...2.如果为false,那么该item没有被初始化过,那么就会调用父类方法,而父类中就是调用另一个重载方法,这个方法我们接下来要讲。...setItems(@Nullable List items) 这个方法是我们在BindingAdapters初始化Adapter时候用,通过代码大家可以看出,其实就是判断设置List数据源类型是否是...由其自身和一个内部类ItemViewModel构成,ItemViewModel不必多说,就是RecycleView每个itemViewModel,值得注意是,当一个RecycleView内容比较多时候...这几个方法是在UiViewModel监听器调用 ,我们可以看见我只是根据position增删改了ObservableList数据。

2K72

你可能需要为你 APP 适配 iOS 11

需要注意是,你constraints需要在view内部设置,所以如果你有一个自定义标题视图,你需要确保任何约束只依赖于标题视图及其任何子视图。当你使用自动布局,系统假设你知道你在做什么。...是描述你视图部分不被任何内容遮挡方法。...在测试Demo,创建tableView显示出来过程,contentSize计算过程如下图: ?...= 0; self.tableView.estimatedSectionFooterHeight = 0; iOS11下,如果没有设置estimateRowHeight值,也没有设置rowHeight...:)和一个类(UITableViewRowAction),代理方法返回是一个数组,我们可以在这个代理方法定义所需要操作按钮(删除、置顶等),这些按钮类就是UITableViewRowAction

1.6K60

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

正如这个词所暗示,一个可展开tableView是一个tableView,它可以"允许"它cell打开和合拢,显示和隐藏其他cell,在任何情况下都总是可见.当需要收集简单数据或者显示用户所需要信息时候...在这个教程,我将会向你展示一个简单高效方式来创建可展开tableView.注意,你在这里所看到并不是唯一方法来实现这个功能.相当多实现方法是基于app需要,但是我目标是是提出一种比较通用方法...你可以注意到上面的tableview打开时候有多种类型cell.所有这些你都可以在启动项目里找到,可供你下载,还包括一些其他将要实现东西.设计所有自定义cell都在单独xib文件,同时一个自定义....在它函数体里第一个任务就是找出匹配索引路径可见行索引,这很容易做,因为我们需要是cell组合行(section and row).到目前为止我们没有处理过tableView代理方法,所以我必须提前说...对于cell来说,在上述语句中,cell标识符没有显示地增加,app也没有任何改变.然而,如果你想以一种不同方式处理,随意修改代码并且添加任何丢失部分.

1.8K50

iOS-UI控件之UITableView(一)

代码 实现数据源方法 先调多少组 //调用数据源下面方法得知一共有多少组数据 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView...NSInteger)section; - 每行数据 //调用数据源下面方法得知每一行显示什么内容 - (UITableViewCell *)tableView:(UITableView *)tableView...*)tableView { //返回是一个数组,数组元素是显示信息,只是提示,结果还是按索引位置分组 return [NSArray arrayWithObjects:@"a",...),而且每一行用不一定是同一种UITableViewCell,所以一个UITableView可能拥有不同类型UITableViewCell,对象池中也会有很多不同类型UITableViewCell...当UITableView要求dataSource返回UITableViewCell时,先通过一个字符串标识到对象池中查找对应类型UITableViewCell对象,如果有,就重用,如果没有,就传入这个字符串标识来初始化一个

1.8K130

你可能需要为你 APP 适配 iOS11

是描述你视图部分不被任何内容遮挡方法。...在测试Demo,创建tableView显示出来过程,contentSize计算过程如下图: Self-Sizing在iOS11下是默认开启,Headers, footers, and cells...iOS11下不想使用Self-Sizing的话,可以通过以下方式关闭:(前言中提到问题也是通过这种方式解决) iOS11下,如果没有设置estimateRowHeight值,也没有设置rowHeight...:)和一个类(UITableViewRowAction),代理方法返回是一个数组,我们可以在这个代理方法定义所需要操作按钮(删除、置顶等),这些按钮类就是UITableViewRowAction...:)代理方法: 这两个代理方法返回是UISwipeActionsConfiguration类型对象,创建该对象及赋值可看下面的代码片段: 创建UIContextualAction对象时,UIContextualActionStyle

2.4K00

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

引 iOS存储方式之一——属性列表plist,还是经常见到,可以很方便用来管理一些有序批量数据,特别是用来显示固定内容到表单上时,不需要在代码反复地繁琐编写数组,而可以在plist属性列表中进行可视化操作...,方法是对右键点击plist文件,选择Open As --> Source Code,就可以看到了,如图: 在这里更改也是可以,我们还是回到plist显示方式,方法还是跟刚才一样。...变量,这样就可以在代码操作这个Table View了,效果如图: 代码实现对plist操作并显示到Table View: 1、准备工作 先打开.h文件,添加TableView数据源和协议委托,并创建一个存储...这里提供一个简单方法直接去除多余表单线条,在viewDidLoad方法: //ViewController.m文件 // 去除多余表单线条 self.tableView.tableFooterView...reloadData];// 重置表单 效果如图: 7、修改plist内容 还是一样思路,修改可变数组某个位置内容,存入原位置,重新读取显示: //ViewController.m文件

1.4K20

iOS 9 Storyboard 教程(一下)

在storyboard中有很多可堆叠内容,但有时却很难点击你想确切操作内容.如果你遇到麻烦,下面有几个选项可以帮你.第一个就是在左侧Document Outline里,你可以选择这个item.第二个是一个方便热键...运行app,但是好像却没有任何改变…并不是很奇怪:你还必须为tableView添加数据源,这样它才会知道应该显示多少行数据.这正是你接下来要做....恩…,那看起来不太对—cell显示好像被压扁了一些.你确实改变了原型cell高度,但 table view 却不这么认为.有两个方法解决这个问题:你可以改变 table view高度属性,或者实现...tableView(tableView:heightForRowAtIndexPath:) 方法.前者是更适用这种情况,因为我们只拥有一种类型cell,并且我们事先知道cell高度. ---- Note...所有的变量都是IBOutlet类型,它可以连接到当前storyboard控制器. 使用IBOutlet就好像下面这样添加属性: var player: Player!

3K20

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

现在运行app.顶层cell可以在点击之后展开或是合拢了,尽管点击子cell还没有发生任何改变,但结果令人印象深刻. ?...真正原因是因为我选择开始处理cell类型,我继续在tableView代理方法里修改,在里面,我将添加一个else来处理没有展开cell情况,然后我们将检查点击cell标识符值.如果标识符等于...我们设置了显示选中cell值,作为顶层celltextLabel文本内容. 当顶层cell不是展开时候,我们做了标记. 我们会把所有的子cell标记为不可见....,我们直接将选中日期设置为了一个字符串.注意,这个字符串在代理方法是一个字符串....tableView方法,主要特点就是在一个plist文件,所有cell描述都使用具体属性.我向你展示了当cell显示,打开或是选中时候,如何使用代码处理cell描述列表;此外,我给了你一个方法通过用户输入数据来直接更新它

1.5K30

你可能需要为你APP适配iOS11

是描述你视图部分不被任何内容遮挡方法。...在测试Demo,创建tableView显示出来过程,contentSize计算过程如下图: Self-Sizing在iOS11下是默认开启,Headers, footers, and cells...iOS11下不想使用Self-Sizing的话,可以通过以下方式关闭:(前言中提到问题也是通过这种方式解决) iOS11下,如果没有设置estimateRowHeight值,也没有设置rowHeight...:)和一个类(UITableViewRowAction),代理方法返回是一个数组,我们可以在这个代理方法定义所需要操作按钮(删除、置顶等),这些按钮类就是UITableViewRowAction...:)代理方法: 这两个代理方法返回是UISwipeActionsConfiguration类型对象,创建该对象及赋值可看下面的代码片段: 创建UIContextualAction对象时,UIContextualActionStyle

81020

AsyncDisplayKit 2.0 教程:入门「译」

认识一个 node 最佳方法是参照你已经熟悉 UIViews 和 CALayers 之间关系。 记住,iOS应用程序所有在屏幕上显示都通过CALayer对象表示。...ASTableDelegate 没有 -tableView:heightForRowAtIndexPath:。再 ASDK ,所有的 ASCellNode 都负责确定自己大小。...image.png 真是一个流畅 tableView!一旦你开始做了,那就让我们做更好吧! 无限滚动 在大多数应用,服务器数据点个数往往会多于当前 tableView 显示单元格数量。...很多时候,这是通过手动观察滚动视图方法内容偏移来处理 scrollViewDidScroll:, 使用 ASDK, 有一种更具说明性处理方式。相反,你可以预先确定好你需要加载页数。...很高兴你这样问~ 系统每个 node 都有一个interfaceState 属性,是一个带有字段((NS_OPTION)ASInterfaceState类型

2.1K20

iOS UITableView代理方法详解 原

iOS UITableView代理方法详解 一、补充 在上一篇博客,http://my.oschina.net/u/2340880/blog/404605,我将IOStableView(表视图)...:(NSIndexPath *)indexPath; 头视图将要显示时调用方法 - (void)tableView:(UITableView *)tableView willDisplayHeaderView...:(UIView *)view forSection:(NSInteger)section; 尾视图将要显示时调用方法 - (void)tableView:(UITableView *)tableView...willDisplayFooterView:(UIView *)view forSection:(NSInteger)section; 和上面的方法对应,这三个方法分别是cell,头视图,尾视图已经显示时调用方法...:(NSIndexPath *)indexPath; 下面这个方法是IOS8方法,用于自定义创建tableView被编辑时右边按钮,按钮类型为UITableViewRowAction。

1.4K40

iOS学习——tableview带编辑功能cell键盘弹出遮挡和收起问题解决

cell当有键盘弹出时候表单整体会自动进行上移,我们需要编辑区域正好可以在键盘上方,这样我们正好也可以看到我们编辑内容,方便我们进行修改和调整具体内容。   ...self.view实际上就是对应UITableView或UICollectionView,所以会出现一些莫名其妙bug,显示不出来或者显示位置不对。...言归正传,下面就说回到我们要解决问题,在UITableViewcell,系统自带UITableViewCell格式没有自带UITextField或UITextView这种可以编辑区域,而这种类型...,在这个过程我们需要回传什么信息,才能保证我们可以对我们控制器tableview进行控制。...注意:UITextViewDelegate没有对应清除和完成方法,所以我们不能调用textFieldShouldClear: 方法和 textFieldShouldReturn: 方法实现【clear/

3.9K80

TableView优化之快速滑动下忽略加载

= 说以下主体思路,VVebo作者认为,当用户快速滑动时候,事实上他对滑动过程内容是不关心,他只关心滚动结束处内容,那么用户不关心内容她就选择了不加载。...首先他cell调用了clear方法,这是VVeboTableViewCell作者自己实现方法,用于清除cell上面展示内容,这样可以避免因cell重用而导致没有绘制cell会显示之前内容问题...然后是判断needLoadArr是否包含有当前indexPath,若没有返回。继续判断当前TableView是否处于快速回到顶部过程,如果是的话也不绘制。...这是依靠着上述四点,VVebo才获得了完美的滑动体验,其思路也是我们开发可以学习和借鉴。 ---- TableView解耦 这部分内容也不是什么新鲜事,也是比较靠谱一个思路。...重要事情说三遍 放一个效果图,老司机写控制器里面看不到任何一个TableView代理然而还是能正常显示并实现很多功能。

1.7K33

信息提醒之对话框(AlertDialog + ProgressDialog)-更新

概念 Android对话框需要使用AlertDialog类来显示,主要用于显示提醒信息,不过这个对话框类可不仅仅能用来显示一些信息,我们可以在对话框防止任何控件,使其成为一个复杂且功能强大用户接口...单击使用setPositiveButton和setNegativeButton方法添加按钮后,即使单击事件不写任何代码,对话框也是会关闭 如果某个按钮单击后只需要关闭对话框,并不需要进行任何处理,...setItems方法定义如下 // items表示用于显示在列表字符串数组 public Builder setItems(CharSequence[] items, final OnClickListener...对于默认未被选中列表项没有任何影响。...消息代码可以是任意int类型值 虽然ProgressDialog.getProgress可以获取当前进度,但是只有在水平进度条风格对话框才有效,如果是圆形进度条,该方法返回永远是0 。

4.4K10
领券