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

JavaFX TableView滚动颜色不同的行不需要着色

JavaFX TableView是JavaFX框架中的一个控件,用于展示和编辑表格数据。它提供了丰富的功能和灵活的配置选项,可以满足不同场景下的需求。

对于滚动颜色不同的行,可以通过自定义单元格的样式来实现。具体步骤如下:

  1. 创建一个自定义的单元格类,继承自TableCell类,并重写updateItem方法。在updateItem方法中根据行号或其他条件判断当前行是否需要特殊着色,如果需要则设置对应的样式。
代码语言:txt
复制
import javafx.scene.control.TableCell;

public class CustomTableCell<T> extends TableCell<T, String> {
    @Override
    protected void updateItem(String item, boolean empty) {
        super.updateItem(item, empty);
        
        if (item == null || empty) {
            setText(null);
            setStyle(""); // 清空样式
        } else {
            setText(item);
            
            // 根据行号或其他条件判断是否需要特殊着色
            if (getIndex() % 2 == 0) {
                setStyle("-fx-background-color: #f0f0f0;"); // 设置背景色
            } else {
                setStyle(""); // 清空样式
            }
        }
    }
}
  1. 在TableView中使用自定义的单元格类。可以通过setCellFactory方法来设置每一列的单元格工厂。
代码语言:txt
复制
import javafx.application.Application;
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");
        
        // 设置单元格工厂
        column.setCellFactory(param -> new CustomTableCell<>());
        
        // 添加列到表格视图
        tableView.getColumns().add(column);
        
        // 添加数据到表格视图
        tableView.getItems().addAll("Row 1", "Row 2", "Row 3", "Row 4", "Row 5");
        
        primaryStage.setScene(new Scene(tableView, 400, 300));
        primaryStage.show();
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}

这样,每隔一行的背景色就会有所区别,从而实现滚动颜色不同的行效果。

推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)

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

相关·内容

  • UITableView作用2. UITableView常用属性3. tableView展示数据三部曲4. UITableViewStyleGrouped样式5. U

    UITableView作用 以垂直滚动方式显示数据列表。 UITableView 两种内置样式:UITableViewStylePlain 和UITableViewStyleGrouped 。...tableView只是一个愚蠢容器,只负责显示。显示是什么自己完全不知道。 数据都是由dataSource提供。 要满足快速滚动,性能很重要 2....2.5 UITableViewCellselectionStyle属性可设置被选中时背景颜色 属性名称 作用 UITableViewCellSelectionStyleNone 没有颜色 UITableViewCellSelectionStyleBlue...*)tableView{ return 2; } //返回有多少,section 组索引 - (NSInteger)tableView:(UITableView *)tableView...numberOfRowsInSection:(NSInteger)section{ return 10; } //返回每一组每一显示什么内容 - (UITableViewCell *) tableView

    96440

    iOS-UI控件之UITableView(一)

    UITableView 介绍 UITableView 是用来用列表形式显示数据UI控件 举例 QQ好友列表 通讯录 iPhone设置列表 tableView 常见属性 // 设置每一cell...; // 设置每一组尾部高度 // self.tableView.sectionFooterHeight = 50; // 设置分割线颜色 self.tableView.separatorColor...; UITableView右边索引条 属性 //设置tableView右边索引文字颜色 self.tableView.sectionIndexColor = [UIColor redColor...要解决该问题,需要重用UITableViewCell对象 重用原理:当滚动列表时,部分UITableViewCell会移出窗口,UITableView会将窗口外UITableViewCell放入一个对象池中...),而且每一不一定是同一种UITableViewCell,所以一个UITableView可能拥有不同类型UITableViewCell,对象池中也会有很多不同类型UITableViewCell

    1.8K130

    iOS开发中行高灵活可变UITableView性能优化

    estimatedRowHeight属性用于TableView进行初始化,其会影响到表格视图右侧滚动宽度。cell展现出来时真正高并不受这个属性值影响。        ...= self; _tableView.dataSource = self; //设置一个模糊高用于配置TableView右侧滚动条 _tableView.estimatedRowHeight...关于细节方面,还有一个问题需要注意,预估高会影响到TableView右侧滚动展现,如果每个cell高跳跃跨度十分大,滚动条宽度配置会失准,随着用户滑动表视图,右侧滚动条可能会出现长短跳跃情况...,如果开发者需要精准这个滚动配置,可以在如下代理方法中返回具体cell估计高。...{ //这里根据不同分区 或者不同行 设置估计高 return 44; } 关于estimatedHeightForRowAtIndexPath方法其实还有一种应用场景,前面介绍优化方式都是以

    2K20

    进阶常用代理方法

    常用属性 1.1 分隔线属性 属性名称 数值 作用 separatorStyle UITableViewCellSeparatorStyle 分割线样式 separatorColor UIColor 分隔线颜色...在某种情况下,我们希望点击cell时候不需要做出任何反应,就可以修改这个属性。 allowsMultipleSelection:需要进行多行选择时候就要将此设置为YES。...进阶常用代理方法 神马滚动到指定cell,设置cell高度,设置header、footer高度等等这些方法就不再说了。...]; // 局部刷新指定 [tableView reloadRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationMiddle...]; // 刷新全部表格数据,如果能够准确确定被修改数据,就不要用此方法 [tableView reloadData]; #4. tableViewCell排序 ##4.1 cell交换排序 -

    1.2K20

    使用Javafx生成虚假手机号身份证号小工具

    使用Javafx生成虚假手机号身份证号小工具一、介绍在日常编码中,我们需要生成一些虚假信息进行测试,其中就包括了手机号,身份证号那么如何生成这些虚假手机号,和身份证号码呢我打算用javafx来编写一个生成虚假手机号...、虚假身份证号小工具那么javafx是什么,简单说,它是一个桌面端工具包集合,用于设计、创建、调试和部署富客户端程序虽然在桌面端不吃香,但比起第一语言就是java我去学习其他语言来说,仅仅只是开发个小工具...; -fx-border-width: 1px; -fx-border-color: #999999; } ​ /* 设置选中Tab背景颜色和边框 */ .tab-pane .tab-header-area....tab:selected { -fx-background-color: #ffffff; -fx-border-color: #333333; } ​ /* 设置Tab文字颜色...*/ .tab-pane .tab-header-area .tab .tab-label { -fx-fill: #333333; } ​ /* 设置选中Tab文字颜色 */ .tab-pane

    20250

    优雅处理网络数据,你真的会吗?不如看看这篇.

    在这篇文章中,你将会学到以下内容: 1.让你 App 可以无限滚动(infinite scrolling),并且滚动数据无缝加载 2.让你 App 数据滚动时避免卡顿,实现平滑如丝滚动 3.异步存储...(_ tableView: UITableView, cancelPrefetchingForRowsAt indexPaths: [IndexPath]){ // 该行在不需要显示时候...(_ tableView: UITableView, cancelPrefetchingForRowsAt indexPaths: [IndexPath]){ // 该行在不需要显示时候...时候性能分析图: 内存 image 磁盘 image 可以看到我应用性能分析很不理想,究其原因在于我应用里显示了大量图片资源,每次来回滚动时候,都会重新去下载新图片,而没有对图片做缓存处理...,再用 Xcode 来查看我应用性能,就会发现内存和磁盘占用已经下降了很多: 内存 image 磁盘 image 关于图片缓存技术,这里只是用了最简单一种,外面很多开源图片库都有不同缓存策略

    1.4K20

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

    在后面我们将使用CSS样式进行字体颜色等样式设置。 3. HBox HBox可以水平排列控件,不换行。如图: ? FXML代码如下: <?...默认方向为水平,那么放入FlowPane中控件会先水平排列,如果第一满了以后进入下一继续水平排列。垂直方向类似的,先垂直排列,如果第一列满了以后进入第二列继续垂直排列。如图: ?...当我们将一个元素拖拽到GridPane中时候可以看到SceneBuilder为我们虚拟除了和列分割线: ? 最后设计界面如图所示: ? FXML代码如下: <?...ScrollPane ScrollPane顾名思义就是可以显示滚动容器控件了。...我们在ScrollPane中放置一个TextArea文本域控件,并且设置TextArea大小大于ScrollPane大小,这样就可以显示出水平和垂直滚动条了。如下图: ?

    11.7K42

    iOS10-iOS15主要适配回顾

    ios15适配 1、UITabar、NaBar新增scrollEdgeAppearance,来描述滚动视图滚动到bar边缘时外观,即使没有滚动视图也需要去指定scrollEdgeAppearance,...具体可以参考UIBarAppearance 2、tableView 增加sectionHeaderTopPadding属性,默认值是UITableViewAutomaticDimension,可能会使tableView...推出暗黑模式,UIKit 提供新系统颜色和 api 来适配不同颜色模式,xcassets 对素材适配也做了调整 2、支持第三方登录必须,就必须Sign In with Apple 3、MPMoviePlayerController...2、safeAreaLayoutGuide引入 3、tableView默认开启了Size-self 4、新增prefersLargeTitles属性 5、改善圆角,layer新增了maskedCorners...属性 6、tableView右滑删除新增api 7、导航条层级发生了变化。

    1.2K50

    12.1版本中全新数据交互控制和格式选项功能

    如果一个Dataset有多个不同数据,你可以同时对多列数据进行排序: ? 将鼠标悬停在行标题列上方空白单元格角落可以对标题进行排序。当菜单指示标记( ?...不需要滚动条或省略号情况下可以展示出最大数量 DatasetDisplayPanel 初始向下展开位置 ScrollPosition 初始滚动位置 在下面的部分中,我会解释这些项基本函数...为了在一个Dataset中对所有项目应用相同背景色,指定一个颜色: ? 想要为下一个Dataset层级指定一个不同颜色的话,给出一个列表: ? 但是,这把所有单元格都变成绿色了!...在这个例子中,列颜色覆盖了颜色,只有在列颜色为None时,才会显示颜色: ? 你可以在任意层级指定值。想要在给定层级使用默认颜色,只需指定Automatic。...想要向{All, "3"}列单个应用黄-白-青颜色,可以指定这些项所在层级,即第四层级,颜色: ? 由于上例中只对“3”列内容进行了着色,所以不需要路径限制。

    1.6K30

    【iOS】仿知乎日报,RxSwift-Part1-首页搭建

    整体框架 首页搭建 1、导航栏设置 先来看看效果图: ? 首页导航栏效果演示.gif 刚开始导航栏颜色是透明,随着tableView向上滚动时,导航栏主键显示颜色。...设置代码如下: 获取导航栏背景图,用于滚动时修改颜色和透明图 设置barTintColor为蓝色 设置barTintColor为白色 barImg = (navigationController?....navigationBar.isTranslucent = false 样式设置完后,开始监听tableview滚动 tableView.rx .contentOffset...那么只要显示第一张或最后一张时,马上修改collectViewcontentOffset即可瞒天过海,具体实现参考项目代码吧~ 2.2、向下拖拽时,图片会放大 其实也是监听tableView滚动,改变轮播图中图片高度即可...willDisplay方法中,监听section变化,刷新条件是:当滚动到最后一个section第一个元素时,加载更多数据 func tableView(_ tableView: UITableView

    2.3K10

    iOS开发常用之网络

    HBHorizo​​ntalTableView - swift,TableView横向滚动小示例(仿照AppStore应用展示)。...LTNavigationBar - LTNavigationBar为导航栏添加动态着色效果,可自定义其背景色.Demo包含:1。变换背景色; 2。滚动视图,导航栏和状态栏重叠。...仿LOL滚动视图 - 仿LOL滚动视图。 答案选择切换页 - 将scrollview和tableview封装在一起,在初始时候简单将数据带上,就可以一页一页左右来回滑动。...HYBImageCliped - 可给任意继承UIView控件添加任意多个圆角,可根据颜色生成图片且可带任意圆角,给UIButton设置不同状态下图片且可带任意圆角,给UIImageView设置任意图片...用于简化实现各种类型旋转木马(分页滚动视图),无限轮播,iOS开发之多图片无缝滚动组件封装与使用。 KIPageView - 无限循环PageView,横向TableView,无限轮播。

    23.6K10

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

    在老司机看来,作者最有效优化分为4部分: TableViewCell圆角优化 缓存高 相对固定图片及文字采用CoreText绘制 TableView加载数据逻辑优化 ---- 1.圆角 这部分作者优化很简单...普通UIView绘制圆角时并不需要maskToBounds属性。也就是普通视图圆角对卡顿没有影响。 既然有普通就有特殊:UIImageView和UILabel以及我还没有发现=。...很多细节上中文跟英文或者字符会有很大差异,但是你有不能不用他,好气哦=。= ---- 2.缓存高 这部分内容老司机在上一期讲述过不定高cell高缓存必要性及缓存方法,这里不再赘述。...,只在目标滚动范围前后指定3加载。...这个代理在手指即将结束拖动时候出发,他会告诉外界当前速度及这次会滚动位置。

    1.7K33

    iOS中TableView小技巧

    1、去除多余列表线条 原始TableView在没有数据也会显示一条条线条,不太美观,用一代码可以解决,一般放在ViewDidLoad中 self.tableView.tableFooterView...= [[UIView alloc] init]; 2、选中列表条目后取消选中背景颜色 不处理情况下,选中一后,该行会保持被选中背景色,一般我们不希望其保持,而是一闪而过告知用户选中过就好了...*)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES];// 选中后取消选中颜色 } 3、...,而不需要用户点击,也不希望用户点击,虽然上面第二条可以设置点击后取消选中,但是还是会有一个动画效果存在,这个方法可以让点击彻底没有效果,明确地告诉用户不能点击列表: [cell setSelectionStyle...cellForRowAtIndexPath:indexPath]; 7、为cell设置不同高度 常规情况下,我们cell都是同样高度,但是一些特殊情况下,比如cell内有一个label,这个

    97730

    macOS开发之NSTableView应用详解

    NSTableView应用详解 一、引言     和iOS开发中UITableView有很大差别,NSTableView并非是一个可滚动列表视图,其是一个不可滚动、支持多列多行原始列表视图。...若要使NSTableView支持滚动,通常会将其嵌套入NSScrollView控件中。...objectValueForTableColumn方法则是基于CellTableView必须实现方法,其中需要返回每个列表所填充数据。...:(NSInteger)row; 四、Cell-Base:基于CellTableView视图     Cell-Base是OS X早起版本中常用构造TabelView方式,其中每一数据载体都必须是...identifier; //根据id获取列对象 - (nullable NSTableColumn *)tableColumnWithIdentifier:(NSString *)identifier; //滚动到指定可见

    4.8K21
    领券