记录JavaFx中非常重要的细节,入门了也未必知道
title: 记录JavaFx中非常重要的细节
JavaFx中有一些疑难杂症,或许你以为你掌握了JavaFx,但是也未必知道我所说的这些问题和解决方案,如果有帮助到你的,可以加群最大最活跃的JavaFx社群:518914410 欢迎访问我的个人博客www.cmlanche.com
已经解决的细节:
鼠标单击、双击以及多击事件(大于三次基本无意义)的执行。

从图中看出,
单击一次执行一次,双击,执行两次,click中走了两次,一次clickcount为1,另一次为2,多击和双击同理ComboBox<T>这个控件中的T模板类型如果换成一个JavaBean类型的话,控件所选择的值和列表显示什么数据呢?如果你入门了,你告诉我,会显示
JavaBean对象中的toString()返回的值,是的,没错,但是加入这个JavaBean是你无法更改的,又或者说你更改它会不美观,会破坏你写代码的美感,没错,的确会这样。然后更有经验的人会告诉我,你可以用
setCellFactory来自己定义列表的值,确实列表的值变成了你想要的值,但是你同样会发现控件所选择的值还是toString()所表达的值。这怎么解决呢?其实
ComboBox中有个叫StringConverter的东西,由它完成自定义转换,示例:public class JavaBean{
public String p1;
public String p2;
} ComboBox<JavaBean> combox = new ComboBox<>();
combox.setConverter(new StringConverter<JavaBean>(){
@Override
public String toString(JavaBean bean){
return String.format("%s(%s)", bean.p1, bean.p2);
}
@Override
public JavaBean fromString(String str){return null;}
});
其实只要设置
StringConverter就可以了,不用设置cellfactory,后者更多的是用来更改ui外观的
处于未知的细节问题:
- 是否可以自定义系统提供的标题栏,这样更加省事
记录JavaFx中非常重要的细节,入门了也未必知道的更多相关文章
- .Net Core ORM选择之路,哪个才适合你 通用查询类封装之Mongodb篇 Snowflake(雪花算法)的JavaScript实现 【开发记录】如何在B/S项目中使用中国天气的实时天气功能 【开发记录】微信小游戏开发入门——俄罗斯方块
.Net Core ORM选择之路,哪个才适合你 因为老板的一句话公司项目需要迁移到.Net Core ,但是以前同事用的ORM不支持.Net Core 开发过程也遇到了各种坑,插入条数多了也特别 ...
- 在.Net Core中使用MongoDB的入门教程(一)
首先,我们在MongoDB的官方文档中看到,MongoDb的2.4以上的For .Net的驱动是支持.Net Core 2.0的. 所以,在我们安装好了MangoDB后,就可以开始MangoDB的.N ...
- Git学习记录 力做全网最强入门教程
目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...
- node中非常重要的process对象,Child Process模块
node中非常重要的process对象,Child Process模块Child Process模块http://javascript.ruanyifeng.com/nodejs/child-proc ...
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
- 形象地展示信号与系统中的一些细节和原理——卷积、复数、傅里叶变换、拉普拉斯变换、零极图唯一确定因果LTI系统
看懂本文需要读者具备一定的微积分基础.至少开始学信号与系统了本文主要讲解欧拉公式.傅里叶变换的频率轴的负半轴的意义.傅里叶变换的缺陷.为什么因果LTI系统可以被零极图几乎唯一确定等等容易被初学者忽略但 ...
- Java中的泛型 - 细节篇
前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的泛型 - 细节篇>,希望对大家有帮助,谢谢 细心的观众朋友们可能发现了,现在的标题不再是入门篇,而是各种详细篇,细节篇: 是因为之 ...
- k8s 中的 Pod 细节了解
k8s中Pod的理解 基本概念 k8s 为什么使用 Pod 作为最小的管理单元 如何使用 Pod 1.自主式 Pod 2.控制器管理的 Pod 静态 Pod Pod的生命周期 Pod 如何直接暴露服务 ...
- php中的curl使用入门教程和常见用法实例
摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...
随机推荐
- Google分析language垃圾信息
最近一段时间,我在Google Analytics(以下简称GA)中查看网站数据时,发现一个非常可疑的信息: 这什么鬼? "language"这一项一般是 "zh-tw& ...
- 类string解析
原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5645248.html 在涉及字符串的时候,我们可以定义字符数组或指针,其实还有一个类,专门是为字符 ...
- 在vs中打开cuda工程
以往都是在linux环境下使用cuda,编写cuda程序,因为一篇论文的源码要求用win系统+vs,首次在vs中打开.编译cuda工程,遇到一些阻碍,特此记录. 我的计算机环境是win10,cuda7 ...
- Android自学反思总结(中)
后来在导员的推荐加上自己的好奇心给电脑装上了Ubuntu,因为Android的内核就是Linux,导员想让我们及早接触,及早熟悉,这也是我后来一直冷落Windows的原因,装Ubuntu的过程是艰辛的 ...
- vue组件递归
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Struts2.5简单使用入门
今天学了Struts2.5最新版的,老师在黑板上讲的很是简单,也很是容易,简单的就实现了.可是课下让我们自己弄,自己无论如何都无法运行成功,一直提示404.偶然间灵机一动,改了一下那个文件就好了.希望 ...
- 一次SocketException:Connection reset 异常排查
问题描述 上一期的需求上线之后,线上多了一个异常:Connection reset.如下: [2017-03-22 00:45:00 ERROR] [creativeAuditTaskSchedule ...
- 性能调优之MYSQL高并发优化
性能调优之MYSQL高并发优化 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之 ...
- javascript核心概念——new
如果完全没有编程经验的朋友看到这个词会想到什么? 上过幼儿园的都知道new表示 "新的" 的意思. var a = new Date() 按照字面的意思表示什么? 把一个新的dat ...
- css高级选择器
并集选择器 p,h1{} 交集选择器 p.first{} 后代选择器:嵌套标签 h1 span{} 子元素选择器 h1>span{} 属性选择器 input[type="passwor ...