在 JavaFX 中的所有表格单元格上设置工具提示

2024-02-13

我的应用程序包含一个TableView。根据每行中特定单元格的值,通过设置自定义单元格工厂来更改行样式setCellFactory对于本专栏。这很好用。

现在我想添加一个工具提示,使用它没什么大不了的setTooltip()。然而,此工具提示应设置为每个细胞在表中,而不仅仅是为其指定的列。我怎样才能实现这个?


设置表后(即创建并添加列,并在所有列上设置单元格工厂),您可以“装饰”列的单元格工厂:

private <T> void addTooltipToColumnCells(TableColumn<TableDataType,T> column) {

    Callback<TableColumn<TableDataType, T>, TableCell<TableDataType,T>> existingCellFactory 
        = column.getCellFactory();

    column.setCellFactory(c -> {
        TableCell<TableDataType, T> cell = existingCellFactory.call(c);

        Tooltip tooltip = new Tooltip();
        // can use arbitrary binding here to make text depend on cell
        // in any way you need:
        tooltip.textProperty().bind(cell.itemProperty().asString());

        cell.setTooltip(tooltip);
        return cell ;
    });
}

这里只需更换TableDataType无论你用来声明什么类型TableView,即假设您有

TableView<TableDataType> table ;

Now, after您已经创建了列,将它们添加到表中,并设置了它们的所有单元工厂,您只需要:

for (TableColumn<TableDataType, ?> column : table.getColumns()) {
    addTooltipToColumnCells(column);
}

或者如果您更喜欢“Java 8”方式:

table.getColumns().forEach(this::addTooltipToColumnCells);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 JavaFX 中的所有表格单元格上设置工具提示 的相关文章

  • 如何使 AnchorPane 大小响应最大化的屏幕视图

    我不知道什么是灰色地带以及如何扩展我的Anchorpane到整个屏幕Image https i stack imgur com m5HqA png 不是未最大化的视图是这样的image2 https i stack imgur com 14
  • JavaFX 3D 面孔着色...再次

    我研究了这个question https stackoverflow com questions 26831871 coloring individual triangles in a triangle mesh on javafx 但我还
  • JavaFX TextField cancelEdit 未按预期工作

    I have a TextField https docs oracle com javase 8 javafx api javafx scene control TextField html and I would like the co
  • 检测 TableView JavaFX 行上的双击

    我需要检测 a 的一行上的双击TableView 如何监听该行任何部分的双击并获取该行的所有数据并将其打印到控制台 TableView
  • JavaFx ComboBox 绑定混乱

    我有一个 I18N 实现 它通过属性绑定 JavaFX UI 元素 例如 def translateLabel l Label key String args Any Unit l textProperty bind createStrin
  • 访问 java jigsaw 模块中的资源文件[重复]

    这个问题在这里已经有答案了 我正在尝试从项目中的类访问 Eclipse 项目中的文件 我需要将该项目声明为 jigsaw 模块才能从其他项目访问它 但是通过这样做 我无法再访问项目中的 example png 等文件 这是我的项目结构 pr
  • 无法解析符号“javafx.scene.web”

    使用Intellij 2021 3 2 JavaFX版本 11 0 2 1 我正在尝试将 JavaFX WebView 添加到我的应用程序中 我的导入语句无法编译 import javafx scene web 编译错误 java 找不到符
  • 按日期对图表中的 X 轴进行排序 - JavaFX

    如何按日期对折线图 X 轴进行排序 现在我的折线图看起来像这样 我试图剪切日期并将其转换为 int 但现在我不知道该怎么办 datesToCompare addAll LastHoursAndDates keySet dates in St
  • 如何在 JavaFX 中将 FontAwesome 升级到版本 5

    我有一个使用 FontAwesome 图标的 JavaFX 我想使用新版本 5 但似乎已经不起作用了 这是一个用 Groovy 编写的简单演示应用程序 可与旧版 FontAwesome 一起使用 import javafx applicat
  • JavaFX 中 WebView 的性能

    我有一个 HTML5 UI 和一个 Java 后端 并且希望避免在纯 java 中重建 HTML ui 所以我的想法是运行本地 Web 服务器并使用 WebView 在 本机 窗口中呈现它 解决方案似乎是使用可以嵌入到 swing 中的 J
  • 错误:缺少 JavaFX 运行时组件,并且需要使用 Gradle 示例来运行此应用程序

    我知道这个问题已被问过多次 但我似乎找不到解决方案 摘自官方指南示例 https openjfx io openjfx docs gradle https openjfx io openjfx docs gradle我继续添加了我的构建 g
  • 如何加载图像文件到ImageView?

    我试图在从文件选择器中选择图像文件后立即显示该图像文件 文件选择器仅限于 png 和 jpg 文件 所选文件存储在文件类型的变量中 为此 我设置了一个 ImageView 我希望用这个新文件设置图像 唯一的问题是它的类型是文件而不是图像 如
  • 使用 CSS 在 javaFX 中设置按钮样式

    我在使用 CSS 的 javaFX 中设置按钮样式时遇到问题 我使用 Intellij Idea IDE 我有 CSS css 文件 Button fx padding 8 15 15 15 fx background insets 0 0
  • JavaFX颜色选择器的语言

    有没有办法改变语言ColorPicker的文本 例如 自定义颜色 当前颜色 新颜色 色相 饱和度 亮度 不透明度 保存 使用 取消 编辑 以下答案适合那些需要更多内容的人exotic语言 如果您使用其中之一 de es fr it ja k
  • Gluon 移动 iOS 音频播放器

    由于 JavaFx Media 尚未移植到移动平台 任何人都可以帮助我使用本机 iOS APi 来播放声音 mp3 文件 该文件将存储在我的 gluon 项目的 main resources 文件夹中 在 Android 上 我们可以轻松地
  • JavaFX 中的 MVC 模式与场景生成器

    我是 JavaFX 新手 根据我当前的设置 正在努力创建合适的 MVC 架构 我使用 Scene Builder 单击了一个 UI 并指定了一个 Controller 类 Startup public class Portal extend
  • 在 JavaFX 中更改 ListView 字体大小

    我想知道如何更改 JavaFx 中的列表视图项目文本字体大小 每行文本的大小会有所不同 我尝试使用细胞因子属性 但我不知道如何使用它 有人可以帮我吗 类似的问题在这里 如何更改JavaFX中ListView的字体大小 https stack
  • 如何获取JavaFX的版本号?

    如何在运行时找出我正在使用哪个版本的 JavaFX 简单的方法之一就是简单地阅读javafx properties文件位于您的 JAVA HOME jre lib目录 我现在安装了 Java 1 7 u9 与之捆绑的 JavaFX 是 v2
  • 带有地图的 JavaFX TableView 对象

    因此 我对 JavaFx TableView 进行了一些挖掘 并找到了一些针对简单情况的不错的解决方案 This article http docs oracle com javafx 2 ui controls table view ht
  • 在JavaFX中如何在表视图中添加带有数据的组合框

    我已经尝试了很多 但无法将数据库中的所有值填充到我的组合框表格单元格中 控制器 java public class controller GetConnection gc new GetConnection PreparedStatemen

随机推荐

  • 两列,100%高度固定流体

    不使用表格如何实现下面的效果呢 例子 http enstar nl example php http enstar nl example php 该示例目前可能不可见 名称服务器应该已更改 但我的主机更新它们的速度不是那么快 今天晚些时候应
  • AJAX (XMLHttpRequest) 进度监控不适用于 Service Workers

    我想将网络表单转换为离线工作 最初 我会在用户完成每个步骤后将表单信息存储在 Web 服务器上的 SQL 数据库中 其中一个步骤包括上传图像 为此我实现了一个进度条 添加服务工作者后 我注意到进度条不再起作用 进度条会显示 但永远不会更新以
  • 如何通过代码向 yaml 文件添加新条目

    我有 yaml 文件 我需要使用 go 代码在运行时向其中添加数据 路径就像下面这样 我的意思是 这是 yaml 文件 其下有一个条目sif of snk dev spec mec tolerations effect NoSchedule
  • 将 url 表放入 `data.frame` R-XML-RCurl

    我正在尝试将网址表放入data frame 在其他示例中 我发现以下代码有效 library XML library RCurl theurl lt https es finance yahoo com q cp s BEL20 BR ta
  • 无法在vb.net中将文件写入硬盘

    您好 我检查了此处存在的所有问题对我没有帮助 所以我问 好的 我们开始吧 我尝试将文件从 资源 复制到 C Test 文件夹对我不起作用 这是我尝试过的 首先 我将 test txt 文件放在资源中复制到 C Test 文件夹 但出现错误
  • WebBrowser 控件和 cookie

    我对 WebBrowser 控件和 cookie 有疑问 首先 当人们在普通的 Web 浏览器 在我的例子中是 IE9 中导航时会发生什么 1 1 我打开网页http www gmail com http www gmail com 我输入
  • 如何以编程方式获取计算机的本地网络 IP 地址?

    我需要使用 C 和 NET 3 5 从我的程序中获取计算机的实际本地网络 IP 地址 例如 192 168 0 220 在这种情况下我不能只使用 127 0 0 1 我怎样才能做到这一点 如果您正在寻找命令行实用程序 ipconfig 可以
  • Python 在屏幕上绘图

    我正在编写一个需要选择屏幕区域的应用程序 我需要将光标更改为十字形 然后在用户选择上绘制一个矩形 我搜索的第一件事是如何操作光标 然后我遇到了 wxPython 使用wxPython 我可以轻松地在带有面板的框架上执行此操作 问题是我需要窗
  • 如何在 Python 日志消息中将“levelname”重命名为“level”?

    我有一个 Python 日志记录配置 如下所示 LOGGING CONFIG version 1 formatters human class logging Formatter format asctime s levelname s m
  • 我应该阻止密码自动完成吗?

    有很多在这里回复 https stackoverflow com questions 2530 how do you disable browser autocomplete on web form field input tag on h
  • 更新应用程序而不安装新的APK

    我正在尝试查看是否可以远程更新用户手机上的应用程序无需下载 apk文件 这是我的 老板 的信息收集请求 他认为这在 iOS 上是可能的 所以他希望我在 Android 上检查一下 本质上 我试图让我的应用程序偶尔从我们的网络服务器中提取版本
  • BigQuery 可以用作主要查询引擎吗?

    我想知道是否可以深入了解使用 BigQuery 作为我们正在开发的分析工具的主要查询引擎的可行性 我们的公共 API 实际上需要使用 PHP SDK 可能超过 1 亿行 执行至少数百个并发 SELECT 查询 但从当前文档来看 BigQue
  • 使用 NodeJS+Express、aws-sdk 将文件直接流式传输到 s3

    我想使用 NodeJS 通过浏览器直接上传一些大文件到 s3 目前还不清楚如何准备该文件上传到 s3 可能有更好的模块 如 Knox 来处理这种情况 但我不确定 有什么想法吗 文件对象 file webkitRelativePath las
  • 如何使用带 IN 子句的 PDO 准备语句? [复制]

    这个问题在这里已经有答案了 我以这种格式将一些数据存储在 MySQL 内的字段中 1 5 9 4我将这个字段命名为related 现在我想在一个内部使用这个字段IN 子句 with PDO 我将该字段内容存储在 related多变的 这是我
  • 为应用整个页面的正文提供背景颜色。为什么?

    body background color red div Hello World div So the background color red 适用于整个页面高度 但当我检查页面时 正文的高度仅达到div含有你好世界 有人请解释一下为什
  • 根据设备大小缩放多行 UIButton 上的字体

    当前设置 我有一个多行的 UIButton它被添加到它的超级视图 一个普通的UIView 按钮的宽度是其父视图的 90 因此 当其父视图的大小发生变化时 标签的宽度也会相应变化 因为Autolayout限制 接下来 在 viewDidLoa
  • Firebase 处理与数据库的断开连接

    我不确定它是否已断开连接或数据库错误事件 首先 当开始在 Firebase 上加载数据时 我会显示一个对话框 然后我想在两种情况下关闭该对话框 有互联网 加载数据成功 我在 onDataChange 中关闭对话框 应用程序启动时没有互联网连
  • 使用 getters() 还是在 POJO 中使用直接字段访问?

    给定一个简单的 POJO 它真的会产生影响吗 或者使用以下任一方法是否可能产生副作用 total getPriorAmount getCurrentAmount OR total this priorAmount this currentA
  • 从 Eclipse 运行干净的 Android 构建?

    有没有办法从 Eclipse 运行构建 每次都会清除应用程序的数据 我想这样做是为了检查我的应用程序的首次运行体验 如果您使用的是 eclipse 请转到应用程序的运行配置 单击目标选项卡 然后选中擦除用户数据字段 我相信这会在每次运行 e
  • 在 JavaFX 中的所有表格单元格上设置工具提示

    我的应用程序包含一个TableView 根据每行中特定单元格的值 通过设置自定义单元格工厂来更改行样式setCellFactory对于本专栏 这很好用 现在我想添加一个工具提示 使用它没什么大不了的setTooltip 然而 此工具提示应设