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

javafx表视图行文本颜色不会使用伪类进行更改

JavaFX是一种用于构建富客户端应用程序的开发框架,它提供了丰富的图形界面组件和功能。其中,表视图(TableView)是JavaFX中常用的一种组件,用于展示和编辑表格数据。

在JavaFX中,可以通过CSS样式来修改表视图中行文本的颜色。要修改行文本的颜色,可以使用伪类(Pseudo-class)来选择特定的行,并为其设置样式。

以下是一个示例代码,演示如何使用伪类来修改表视图行文本的颜色:

代码语言:java
复制
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class TableViewExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        TableView<Person> tableView = new TableView<>();

        // 创建表格列
        TableColumn<Person, String> nameColumn = new TableColumn<>("Name");
        nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));

        TableColumn<Person, Integer> ageColumn = new TableColumn<>("Age");
        ageColumn.setCellValueFactory(new PropertyValueFactory<>("age"));

        // 将列添加到表格视图中
        tableView.getColumns().addAll(nameColumn, ageColumn);

        // 添加示例数据
        tableView.getItems().addAll(
                new Person("John", 25),
                new Person("Jane", 30),
                new Person("Bob", 35)
        );

        // 设置行样式
        tableView.setRowFactory(tv -> {
            return new TableRow<Person>() {
                @Override
                protected void updateItem(Person person, boolean empty) {
                    super.updateItem(person, empty);

                    if (person == null || empty) {
                        setStyle(""); // 清除样式
                    } else {
                        if (person.getAge() > 30) {
                            // 设置行文本颜色为红色
                            setStyle("-fx-text-fill: red;");
                        } else {
                            // 设置行文本颜色为绿色
                            setStyle("-fx-text-fill: green;");
                        }
                    }
                }
            };
        });

        StackPane root = new StackPane(tableView);
        Scene scene = new Scene(root, 300, 200);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

    // 示例数据模型类
    public static class Person {
        private String name;
        private int age;

        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }
    }
}

在上述代码中,我们通过setRowFactory方法为表视图的行设置了一个自定义的行工厂。在行工厂中,我们重写了updateItem方法,根据行对应的数据(Person对象)的年龄属性来设置行的文本颜色。如果年龄大于30,文本颜色将被设置为红色,否则为绿色。

这样,当表视图中的数据发生变化时,行的文本颜色也会相应地更新。

关于JavaFX的更多信息和示例代码,可以参考腾讯云的JavaFX产品文档:JavaFX产品文档

希望以上内容能够帮助到您!

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

相关·内容

JavaFX 11发说明

介绍 以下记录描述了有关此版本的重要更改和信息。在某些情况下,该说明提供了有关问题或更改的其他详细信息的链接。 从JDK 11开始,JavaFX模块与JDK分开提供。...这些发行说明涵盖了独立的JavaFX 11发版。JavaFX 11需要JDK 10(必须是OpenJDK版本)或JDK 11.建议使用JDK 11。...默认情况下,独立的javafx模块不再具有权限 javafx.* 模块现在由应用程序加载器加载,默认情况下不再具有权限。...disable = true的DateCell时,DateCell文本颜色未正确更新 控制 JDK-8208610 在FXMLLoader :: getDefaultClassLoader中调用的错误检查...getCenter方法增强Bounds 场景图 JDK-8195811 使用公共API支持FX Swing互操作 swing JDK-8198654 将FX的默认GTK版本切换为3 窗口的工具包

6.6K60
  • 分享15个有用的,你可能还不知道的CSS小技巧,建议每个前端开发者都了解下

    这对于设置全局样式非常有用,例如设置默认字体、颜色高等。 需要注意的是,选择器会匹配页面上的每个元素,包括嵌套的元素。因此,在使用选择器时,你需要小心确保样式不会无意间影响到你不想改变的元素。...这在创建主题或需要同时更改多个值时特别有帮助。 通过使用CSS变量,你可以在整个样式中定义和使用变量,将值存储为变量后,可以在需要的地方重用这些值。...这可以用于通过与你的网站配色方案匹配文本选择颜色,创建一个更统一的设计。 使用::selection元素,你可以为被选中的文本设置样式,包括文本颜色、背景颜色、边框等。...一些浏览器可能只支持对文本颜色和背景颜色的设置,而其他样式设置可能无效。因此,在使用::selection元素时,请进行充分的测试,并根据需要做必要的样式调整。...使用::placeholder元素,你可以为输入框的占位文本设置样式,包括文本颜色、字体样式、对齐方式等。

    19840

    你还在用B端大模型?OUT 了!!!用混元打造专属智能化桌面应用

    内容创作 支持文学创作、文本摘要、角色扮演能力,生成流畅、规范、中立、客观的文本内容。 逻辑推理 准确理解用户意图,基于输入数据或信息进行推理、分析。...Request Body:用户输入的文本消息,将其传递给混元大模型生成响应。 使用 HttpClient 进行网络请求,并解析返回的 JSON 数据。...控制器 控制器是处理界面逻辑的地方。...如果直接在 UI 线程中进行网络请求,将会导致界面卡顿,影响用户体验。因此,必须使用异步处理来避免阻塞主线程。 下面,我们通过创建一个新的线程来执行与大模型的通信操作。...然后使用 Platform.runLater() 方法在网络请求完成后更新 UI 界面。这样,UI 线程可以始终保持响应,不会因为等待网络响应而卡顿。

    39031

    JavaFX入门(四):JavaFX布局(一)

    说道GUI编程一定要谈到布局,JavaFX内置了大量的布局控件提供给我们使用。其实,JavaFX的布局控件和界面元素控件都是继承自javafx.scene.layout.Region。...(JavaFX在线API文档:JavaFX8 API Online) JavaFX布局控件的图如下: ? 下面简单说说一些常用控件的用法。...这里我们使用SceneBuilder进行界面的设计,SceneBuilder可以在Gluon下载。SceneBuilder的界面如下,我们可以简单使用拖拽的方法进行界面设计。 ? 1....在后面我们将使用CSS样式进行字体颜色等样式的设置。 3. HBox HBox可以水平排列控件,不换行。如图: ? FXML代码如下: <?...在我们用SceneBuilder设计界面的时候,自动生成的FXML文件中的实体元素和属性是和JavaFX中的和属性是对应的,我们可以通过FXML了解对应的一些属性和方法。

    11.7K42

    独家 | 手把手教数据可视化工具Tableau

    举例来说,如果前 10,000 中大多数为文本值,那么整个列都映射为使用文本数据类型。 注意: 空单元格也可以创建混合值列,因为它们的格式不同于文本、日期或数字。...但是存在以下例外: 如果解聚整个视图,则不会根据定义来聚合视图中的字段。如果您使用的是多维数据源,则会在数据源中聚合字段,但视图中的字段不显示该聚合。...我们可继续向“”和“列”中添加维度,并能观察到标记的总数持续增加。将维度拖到“标记”卡上的一个位置(例如“颜色”或“大小”)将也会增加标记的数量,但不会增加视图中标题的数量。...当您将离散字段放在“列”或“”上时,Tableau 会创建标题,离散字段的单独值将成为或列标题。(由于绝不会对此类值进行聚合,所以在您处理视图不会创建新字段值,因此就不需要轴。)...FIXED 详细级别表达式使用指定的维度计算值,而不引用视图中的维度。在本例中,您将使用它来建立各个子类的百分比 — 不会受常规维度筛选器影响的百分比。为何会这样?

    18.9K71

    一个案例入门tableau——NBA球队数据可视化实战解析

    仪表板包含3个「工作」,见图中的part1,2,3。 ❝仪表板是tableau中用于“组合”原始视图的有效工具,将工作拖到仪表板上,即可将现有视图添加到仪表板。...仪表板中可以对原始视图进行布局,可以插入文字,图片,链接等,还可以配置一些动态交互。有点类似于PPT。...我们还需要把“度量值”拖到文本上。这个时候可以正常显示了。如果想要用颜色深浅表示数据,还需要把标记卡的自动改为“方形”,并把度量值拖到颜色上。如下图所示。 ?...如果前面不更改为0%,这里的值只有“”,如果更改为50%,则会有“真”和“”。我们只关心为“真”的,即胜率不小于参数值的结果,因此勾选“真”。点击确定。...效果和之前是一样的,且也不会随着选择的球队而发生变化。平均失分也按照同样的方法进行设置。 这个案例给我们的启发主要是默认值的设置必须依赖于计算字段。 ?

    7.5K11

    前端开发必备之Chrome开发者工具(上篇)

    DevTools会在样式中检测媒体查询,并在顶端标尺中将它们显示为彩色条形 ? 用彩色标记的媒体查询示例如下: ?...添加或移除动态样式() 您可以在元素上手动设置动态选择器(例如 :active、:focus、:hover 和 :visited) 可以通过两种方式在元素上设置动态状态: 在 Elements...面板内右键点击某个元素,然后从菜单中选择目标,将其启用或停用 ?...颜色值选择器。 点击可以在 RGBA、HSL 和十六进制之间切换。 调色板选择器。 点击可以选择不同的模板。 编辑 DOM Elements 面板中的 DOM 树视图可以显示当前网页的 DOM 结构。...DOM更改断点 当您想要更改DOM节点或其子节点的代码时,使用DOM更改断点 设置DOM更改断点: 切换到 Elements 面板。 找到您想设置断点的元素并右键单击该元素。

    8.3K111

    JavaFX——(第一篇:介绍篇)

    媒体引擎组件显示在图1的绿色部分,在JavaFX 2中进行了重新设计并且改进了性能,进行了相关的扩展。...这是一个扩展节点的。 CSS JavaFX层叠样式(CSS)提供了定制样式应用能力的用户界面的一个JavaFX应用程序,而无需更改任何应用程序的源代码。...CSS可以应用于任何节点在JavaFX场景图和应用于异步的节点。JavaFX的CSS样式也可以轻松地分配到在运行时的场景,让应用程序的外观动态更改。...您可以运行它作为一个独立的工具来创建您的UI布局和编辑结果FXML文件使用一个文本编辑器,你的选择。...如果您选择使用本教程外的NetBeans IDE,有部分在本教程中,强调需要做什么来连接布局,您构建样例应用程序的Java源代码,应用样式,并运行样例应用程序使用Apache Ant实用程序。

    5.8K60

    CSS技术入门

    在CSS1和CSS2中,元素和都采用单冒号进行表示,在CSS3中为了区分元素和,规定使用双冒号代表伪元素,单冒号代表伪,即CSS3标准中应该这么写:selector.class::pseudo-element...{property:value;}:first-line 元素"first-line" 元素用于向文本的首设置特殊样式。...在下面的例子中,浏览器会根据 "first-line" 元素中的样式对 p 元素的第一文本进行格式化:p:first-line{color:#ff0000;font-variant:small-caps...:before是元素,并且它生成包含放置在元素中的内容之前的生成内容的元素。使用content 属性来指定要插入的内容。默认情况下,生成的元素是内联的,但这可以使用属性显示更改。...CSS3使用了层叠样式技术,可以对网页布局、字体、颜色、背景灯效果做出控制。css3作为css的进阶版,拆分和增加了盒子模型、列表模块、语言模块 、背景边框 、文字特效 、多栏布局等等。

    2.9K61

    Using JavaFX UI Controls 12 Table View

    原文链接地址:http://docs.oracle.com/javafx/2/ui_controls/table-view.htm#CJAGAAEE 在这一章,你将学习如:添加一个表格、数据填充、编辑表格等格组件...如果不想显示上述标题,你可以使用setPlaceholder 方法制定 一个 Node(节点)对象呈现在空表格中。...图 12-6新添加的实体 列数据排序 TableView提供了列中数据的排序。用户可以通过点击列头来对数据进行排序。第一次点击将进行升序排列,第二次点击将进行降序排列。第三次点击不排列。...表格的数据编辑 TableView不仅能够渲染表格式的数据,还能提供编辑的能力。使用 setEditable  方法来开启表格编辑模式。...这一为取决于TextField的实现。 12-8编辑表格的单元格 请记住:默认的TextField 实现,需要用户按下Enter键来提交编辑。

    11.4K20

    Apriso 开发葵花宝典之四 CSS 篇

    CSS所提供的所有特性对它们进行更改,包括:大小、颜色、阴影或者其它任何支持的效果。...fa-spin 来使任意图标旋转,现在您还可以使用 fa-pulse 来使其进行8方位旋转。...id和应该是小写的,应该使用破折号而不是下划线,例如:"label-left" 2、保持可读性,在不同的中分开选择器和样式。...此外,每个样式都应该缩进 3、语句结束后使用分号 4、首先编写html代码,首先编写整个HTML模型可以让您将整个视图可视化,并允许您以更全面,自上而下的方式考虑CSS 5、自上而下的结构组织样式,按照...3个结构、后代或兄弟组合 8、尽量减少id的使用,避免不必要的重要元素样式 9、使用简写属性,如 div { padding: 8px 16px 4px 8px; margin: 8px 16px

    29030

    IDEA与eclipse桌面配置基础

    Compiler Compiler compliance level:编译Java程序时使用的JRE版本。Libraries:配置classpath的地方,既然要运行Java程序,肯定要包含JRE。...Assist自动补全#添加(表示所有字母都可以自动补全).abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ修改Ecilpse编码格式Eclipse中更改警告和错误突出显示的文本背景颜色...IDEA添加JDKIDEA设置Ctrl + 鼠标滚轮)字体大小IDEA取消文件夹自动合成将勾取消即可IDEA安装插件Codota 代码智能提示插件只要打出首字母就能联想出一整条语句,还显示了每条语句使用频率...Lombok 简化臃肿代码插件实体中的get/set/构造/toString/hashCode等方法,都不需要手动写Alibaba Java Coding Guidelines 阿里巴巴代码规范检查插件会按照阿里...Java开发手册上规范帮我们检查代码,然后对代码做不同颜色展示,鼠标放上去,会看到提示内容,帮助开发者写出更规范的代码。

    38330

    CSS基础知识

    1.认识CSS样式 CSS全称为“层叠样式 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等。...而选择器可以使用多次。...;} 5-7 选择符 更有趣的是选择符,为什么叫做选择符,它允许给html不存在的标签(标签的某种状态)设置样式,比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色: a:hover...关于选择符: 关于选择符,到目前为止,可以兼容所有浏鉴器的“选择符”就是 a 标签上使用 :hover 了(其实选择符还有很多,尤其是 css3 中,但是因为不能兼容所有浏览器,本教程只是讲了这一种最常用的...由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响

    2.8K30

    「学习笔记」CSS基础

    选择器」 选择器使用”.”(英文点号)进行标识,后面紧跟名。...注意:选择器使用“.”(英文点号)进行标识,后面紧跟名(自定义,我们自己命名的) 长名称或词组可以使用中横线来为选择器命名。 不要纯数字、中文等命名, 尽量使用英文字母来表示。...多名选择器:各个名中间用空格隔开。 「3. id选择器」id选择器使用#进行标识,后面紧跟id名 元素的id值是唯一的,只能对应于文档中某一个具体的元素。...样式不冲突,不会层叠。 「2. CSS 继承性」 -概念: 子标签会继承父标签的某些样式,如文本颜色和字号。 想要设置一个可继承的属性,只需将它应用于父元素即可。...保证盒子里面的内容不会超出该盒子范围 CSS用户界面样式 所谓的界面样式, 就是更改一些用户操作样式,以便提高更好的用户体验。 更改用户的鼠标样式 表单轮廓等。

    3.2K30

    CSS基础知识巩固你的前端基础

    css用于网页的风格设计,包括字体,颜色,位置等。 css使用的4中方式:引入外部样式文件,导入外部样式文件,使用内部样式定义,使用内联样式定义。...选择器,以指定class的HTML元素指定样式。 选择器 选择器:选择器和元素选择器 以冒号(:)开头,元素选择符和冒号之间不能有空格,名中间也不能有空格。...css中常用的如下表所示: 名 说明 :active 向被激活的元素添加样式 :focus 向拥有输入焦点的元素添加样式 :hover 向鼠标悬停在上方的元素添加样式 :link 向未被访问的链接添加样式...: 元素名 说明 :first-letter 向文本的第一个字母添加样式 :first-line 向文本的第一添加样式 :after 在元素之后添加内容 :before 在元素之前添加内容 css...css文本属性: 属性 说明 color 文本颜色 direction 文本方向或者书写方向 letter-spacing 字符的间距 line-height 文本高 text-align 文本的水平对齐方式属性

    2K10

    CSS入门?一篇就够了!

    选择器 选择器用于向某些选择器添加特殊的效果。比如给链接添加特殊效果, 比如可以选择 第1个,第n个元素。...为了和我们刚才学的选择器相区别, 选择器是一个点 比如 .demo {} 而我们的 用 2个点 就是 冒号 比如 :link{} 链接选择器 :link /* 未访问的链接...样式不冲突,不会层叠 CSS最后的执行口诀: 长江后浪推前浪,前浪死在沙滩上。 CSS继承性 所谓继承性是指书写CSS样式时,子标签会继承父标签的某些样式,如文本颜色和字号。...使用选择器、属性选择器、元素和选择器的规则。 使用了元素选择器的规则。 只包含一个通用选择器的规则。 同一选择器则遵循就近原则。...通常我们使用于强制一显示内容 normal :  默认处理方式 nowrap :  强制在同一内显示所有文本,直到文本结束或者遭遇br标签对象才换行。

    5.2K20

    【黑马程序员pink名师讲CSS】学好CSS有这一篇就够了(CSS笔记)

    2.css-美容师 css:层叠样式,也叫css样式或级联样式 css也是一种标记语言[简单] css作用就是在HTML的基础上美化页面,布局页面的 css主要设置HTML页面中的文本内容...1.文本总体概述 text(文本)属性可定义外观,比如文本颜色,对齐文本,装饰文本,文本缩进,行间距 2.文本颜色 div { color: deeppink...5.文本缩进 text-indent属性用于第一的缩进,也就是文档里的首缩进功能 单位:em,这是相对当前一个文字的大小,会按照父的继承 建议使用:2em,则是相当于当前文字两个文字的大小...选择器用于向某些标签添加一些特殊效果,如鼠标放在链接上,链接颜色发生变化等 选择器就是.名开头,选择器和选择器的书写方式类似,比如a:hover 选择器种类很多:链接选择器...,结构选择器等 一.链接选择器 1.链接选择器的基本语法 a:link { color: black; text-decoration: none

    2.3K20
    领券