繁体   English   中英

JavaFX 以编程方式突出显示选定的 tableview 行

JavaFX programmatically highlight selected tableview row

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个表格视图,它根据行列之一的值设置行的背景。 这是有效的,我正在使用 RowFactory 进行如下操作:

`

tv.setRowFactory(tv -> new TableRow<ticketRow>() 
{
    @Override
    protected void updateItem(ticketRow p_ticketRow, boolean empty)
    {
        super.updateItem(p_ticketRow, empty);

        if ( p_ticketRow != null )
        {
            if (!(p_ticketRow.getTBP().trim().equalsIgnoreCase("0.00")))
            {
                setStyle("-fx-font-size: 18 !important; -fx-background-color: #ffb2b2; -fx-text-fill : #000000; -fx-font-size: 18 !important; -fx-selection-bar: blue !important;");
            }
            else
            {
                setStyle( ".tree-table-row-cell:odd {-fx-background-color: #f9f9f9; -fx-text-fill : #000000; -fx-font-size: 18 !important; -fx-selection-bar: blue;}");
            }
        }
        else
        {
            setStyle( "-fx-font-size: 18 !important; -fx-selection-bar: blue; .tree-table-row-cell:odd {-fx-background-color: #f9f9f9; -fx-text-fill : #000000; -fx-font-size: 18 !important;}; .tree-table-row-cell:even {-fx-background-color: #ffffff; -fx-text-fill : #000000; -fx-font-size: 18 !important;}" ); // -fx-font-size: 18;}" );
        }
    }
});

`

但是,每当我 select 行其背景已由 if 子句设置时,所选行颜色不会显示。 该行没有突出显示。 背景颜色似乎优先。

当由于满足列值条件而已经设置了背景时,如何使选定的行突出显示?

谢谢

1 个回复

我将首先承认我对 CSS 了解不多,而且我也刚刚开始使用 JavaFX。 无论如何,在浏览了更多 Stackoverflow 帖子后,我遇到了一个类似于我的问题/解决方案,解决方案是使用 -fx-control-inner-background: 和 -fx-control-inner-background-alt:

老实说,我不知道这些是什么或它们是如何工作的,但我使用它们而不是 -fx-background-color: 并且有效。

2 如何在TableView(JAVAFX)中选择/突出显示下一行

我正在用JavaFX制作媒体播放器。 我在TableView对象中显示歌曲。 每当我按下“跳过”按钮时,我都希望它突出显示下一行,以便用户可以看到播放列表中正在收听的歌曲。 这是TableView的代码。 我希望它能够获取选定的元素,然后每当调用某个方法时为我选择/突出显示下一个 ...

3 如何仅以编程方式突出显示行

这是对这里提到的代码的回应,它部分对我有用,但不是我想要的,不幸的是,在 WPF 中,我无法解决这个问题并找到解决方案。 因为我找不到功能解决方案,所以我问这个问题。 在 DataGrid WPF 中获取选定的行项目 试图达到结果 回应 Bahaa Salaheldin 于 2011 年 4 ...

4 ListView以编程方式突出显示行项目

我有用于显示导航抽屉的listview,并且在ListView的listselector属性中设置了选择器xml。 现在,当我选择列表视图项时,列表项将突出显示。 但我想以编程方式突出显示一个项目。 我尝试过的代码: ListRow: 选择器XML: ListFr ...

5 Flex DataGrid:以编程方式突出显示行

这看起来应该很简单,但是我什至找不到如何在Flex DataGrid中循环浏览行。 基本上,我要完成的工作是这样的伪代码: 我试图有一个“保存”按钮,在单击该按钮时要么处理保存,要么突出显示无效的行并弹出一条消息,告诉用户为什么行无效。 由于其他一些复杂性,我无法在输入每一行时对 ...

6 通过突出显示以编程方式选择WPF DataGrid行

我在WPF中用几行创建了一个数据网格。 我在wpf网格上创建了​​四个按钮,以便在各行之间导航:[&lt;&lt;]-[&lt;]-[&gt;]-[&gt;&gt;] 我使用SelectedItem函数来设置行。 我的问题是,突出显示似乎不好(很慢)(很难解释)。 当我在行之间使 ...

7 以编程方式突出显示stringgrid行

我在Delphi 7中有一个字符串网格,有0..N行。 如果用户单击列表框号中的任意数字,则会有一个包含0..N数字的列表框,应在stringgrid上选择该行号。 所以我有这个 这将很好地选择网格上的行(突出显示),但问题是如果 那个时候我明白了 就像在grid ...

8 JavaFX如何从Tableview获取选定行的数据

我想从一个选定的行中获取数据 我有这个小代码 但是,当我运行该应用程序时,出现此错误 我使用场景生成器创建TableView。 你能帮助我吗? 解决了-问题是,我有getSelectedItems(); 而不是getSelectedItem(); ...

9 如何从TableView中删除选定的行? (带FXML的JavaFX)

所以,我正在尝试删除程序中TableView中突出显示的行。 我已经在网上查看过大量的教程,但实际上我无法理解这一点。 我已经关注了Eclipse中的CodeMakery的例子,但是我无法让它在IntelliJ上工作(因为一些明显的JDK问题?) 这是CodeMakery的代码: ...

10 JavaFX:TableView打印选定的行项目

我目前有一个tableview,它显示一堆有关存储在数据库中的播放器的信息。 我想做的只是在选择名称行时打印名称的名字以进行控制台。 什么都没有打印。 我将把整个代码从表视图发布到尝试打印的位置。 我省略了将玩家加载到tableview的功能,因为它不相关 这是我要打印但无法正常 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM