答案将解决JavaFX 2+,而不是 JavaFX 1.x ,后者工作方式不同但现在已弃用。
编译时,我的 java/bin/ 处的编译器是编译代码还是 javafx 编译器编译它?
它是编译您为 JavaFX 编写的 java 代码的javac 编译器。
当某个地方的客户运行我的程序并且他没有 javafx 但有默认的 jre 时,他可以运行整个程序吗?
是的,只要它是在JavaFX 支持的配置(例如 OSX 10.7、Windows XP/Vista/7、Ubuntu Linux...)上运行的 Oracle jre1.7u6 或更高版本。
如果他可以使用最新的 jre 来运行它,那么如果他使用的是 6.5 之类的旧 jre 呢?
JavaFX 2.2 + JRE 6 是受支持的配置。JRE 6 未与 JavaFX 捆绑在一起,因此 JavaFX 部署工具包会将代码插入到您的应用程序包中,如果用户想要运行您的 JavaFX 2.2 兼容程序,它将为用户提供安装 JavaFX 的说明。
任何人都可以推荐一本关于 javafx 的书(最新)吗?
JavaFX 目前是一种快速发展的技术,因此印刷书籍很难跟上这个话题。也就是说,以下书籍为该技术提供了良好的基础:
Oracle 提供了有关最新 JavaFX 版本的良好在线教程。
你认为放弃肮脏的富客户端并学习 javafx 是个好主意吗
《肮脏的富客户》是一本很棒的书。JavaFX 通常为许多 Java2D 动画和图形概念提供更高级别的 API。JavaFX 大量使用保留模式场景图方法而不是立即模式绘制方法 - 因此许多技术的应用会有所不同。然而,Filthy Rich Clients 为许多概念的低级实现提供了良好的基础,这些概念通常有助于提高生产高质量图形 Java 应用程序的熟练程度。最后,这是一个时间问题——如果你的不足,跳过肮脏的富客户端并只学习 JavaFX,否则我建议学习 JavaFX 并回到肮脏的富客户端看看它还能提供什么。