我在JavaFX 2模式对话窗口中有一个ListView控件。JavaFX 2.2:如何强制重绘/更新ListView

此ListView显示DXAlias实例,它由单元工厂生产的ListCells。工厂对象所做的主要事情是检查ListView的UserData属性数据,并将其与ListCell对应的项目进行比较。如果它们相同,则ListCell的内容呈现为红色,否则呈现为黑色。我这样做是为了表明ListView中的哪些项目当前被选作“默认”。这里是我的ListCell工厂类,所以你可以明白我的意思:

private class AliasListCellFactory implements

Callback, ListCell> {

@Override

public ListCell call(ListView p) {

return new ListCell() {

@Override

protected void updateItem(DXSynonym item, boolean empty) {

super.updateItem(item, empty);

if (item != null) {

DXSynonym dx = (DXSynonym) lsvAlias.getUserData();

if (dx != null && dx == item) {

this.setStyle("-fx-text-fill: crimson;");

} else { this.setStyle("-fx-text-fill: black;"); }

this.setText(item.getDxName());

} else { this.setText(Census.FORMAT_TEXT_NULL); }

}};

}

我有一个名为“handleAliasDefault()”的按钮处理程序,其通过取所选择的DXAlias实例,使得所选择的项目在ListView新的默认将其存储到ListView:lsvAlias.setUserData(选定的DXAlias)中。下面是处理代码:

// Handler for Button[fx:id="btnAliasDefault"] onAction

@FXML

void handleAliasDefault(ActionEvent event) {

int sel = lsvAlias.getSelectionModel().getSelectedIndex();

if (sel >= 0 && sel < lsvAlias.getItems().size()) {

lsvAlias.setUserData(lsvAlias.getItems().get(sel));

}

}

因为这是在响应作出点击设为默认值按钮的变化是改变ListView的的UserData()没有任何变化为后盾ObservableList,他们的名单不正确指示新的默认值。

有没有办法强制ListView重新呈现其ListCells? Android用户在这个问题上有四十亿个问题,但JavaFX似乎并没有幸福。我可能不得不对后备阵列进行“无意义的改变”来强制重绘。

2013-06-02

scottb

java fx 重绘_JavaFX 2.2:如何强制重绘/更新ListView相关推荐

  1. java fx 按钮长度_JavaFX按钮

    当用户单击按钮时,JavaFX Button类可以触发事件.Button类扩展了Labeled类,可以显示文本,图像或两者都可以. 以下代码显示了如何向Button添加单击操作侦听器. import ...

  2. java fx 轮播_javafx实现轮播图

    下面是轮播图的主体代码 Button buttonTest = new Button(""); buttonTest.setPrefSize(1300, 510); //用线程实现 ...

  3. java fx 重绘_如何重绘JAVA FX 2.2中的窗口(舞台)

    我需要在选择组合框元素时重新绘制一个窗口. 如何在JAVA FX 2.2中重新绘制一个窗口(阶段)? 以下是我的代码 functionComboBox.valueProperty().addListe ...

  4. java fx消息通知,Java的FX 2警报声

    How do I play an alert sound in Java FX 2? Is there a way of using the OS default notification sound ...

  5. java多线程并行执行命令_深入理解Java多线程与并发框(第④篇)——重排序、屏障指令、as-if-serial规则...

    ![](http://img.blog.itpub.net/blog/2020/03/24/906435fda570a5e3.png?x-oss-process=style/bb) # 一.重排序 前 ...

  6. 用JAVA FX制作3D魔方游戏

    最近正在翻译一篇老外的文章,用JAVA FX制作的3D魔方游戏. 翻译完成后,会在本博客贴出. 运行的效果见图片.

  7. java 排序 内存_Java内存模型(二)——重排序

    一.重排序 重排序是指为了提高程序的执行效率,编译器和处理器常常会对语句的执行顺序或者指令的执行顺序进行重排. 编译器优化的重排序:编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序. ...

  8. [Java FX 2] Stage with rounded corners and background image

    转自:http://apilevel.wordpress.com/2012/10/11/java-fx-stage-with-rounded-corners-with-background-image ...

  9. java FX 制作3D魔方

    来源:https://github.com/jperedadnr/LiteRubikFX java FX 教程真是少之又少,当然javaFX 3d也不例外,最近想折腾折腾3d但是资源实在太少,先是在h ...

最新文章

  1. Lintcode: k Sum II
  2. 大对象简介+大对象的4种类型+lob类型的优点+lob的组成
  3. 第一章:渗透测试之信息搜集
  4. 正则匹配承兑的html,正则匹配闭合HTML标签(支持嵌套)
  5. Windows Server 2008 R2无法远程桌面解决方法
  6. 如何使用PHP中的字符串函数
  7. python try 打印错误_python try语句如何打印错误行(含execfile)-- 转
  8. python super().__init__()
  9. 全国计算机二级vb试题库,全国计算机等级考试题库之二级VB试题
  10. 二极管、稳压二极管、发光二极管电路测试
  11. 机器学习:k-means聚类效果评估
  12. 论文解读:Deep-4MCW2V:基于序列的预测指标,以鉴定大肠杆菌中的N4-甲基环胞嘧啶位点
  13. 苏宁11.11:搜索引擎Solr在苏宁易购商品评价系统中的应用
  14. linux服务器双网卡配置,linux 关于主机服务器双网卡bond配置
  15. ubuntu20.04安装常用的软件
  16. SAP MM库存盘点流程
  17. Android EditText输入光标居于开头最开始位置
  18. 【1011】甲流疫情死亡率
  19. java基础火车站售票(线程安全)
  20. 《自然语言处理学习之路》 13 RNN简述,LSTM情感分析

热门文章

  1. 北大数学英才班,没有一名新生经历高三
  2. 对于大学工作规划和面试前准备
  3. 【宇麦科技】群晖NAS套件之Drive的安装与使用(一),保姆级教程来喽!
  4. 总结iPhone、iPad各机型对应的iOS 系统版本(最全)
  5. 【JSD-Day01】语言基础第一天
  6. Kubernetes单机创建MySQL+Tomcat演示程序:《Kubernetes权威指南》第一章demo报错踩坑
  7. Windows Project2016如何增加加班工时。
  8. CF1720A Burenka Plays with Fractions 题解
  9. python将经纬度标注在地图上_python读txt与写excel,将经纬度坐标点显示在地图上...
  10. 哈尔滨工业大学计算机考研难吗,哈尔滨工业大学(专业学位)计算机技术考研难吗...