java fx 教程_第一篇 开始学习JavaFX

第一篇 开始学习JavaFX

前言

关于本教程

前言这一节将会对本教程进行概述,并且会描述本文档的可用性特征以及本教程中用到的惯例。

本教程由三篇文档组成,它们之前都随着JavaFX 2.x的文档集一同发布了:《JavaFX概览(JavaFX Overview)》、《JavaFX架构(JavaFX Architecture)》和《开始学习JavaFX(Getting Started with JavaFX)》。汇编后的内容已经进行改进,其中包括了关于随JavaSE8发布的JavaFX新特性的更新。本文档包括如下几部分:

● 什么是JavaFX

● 开始学习JavaFX样例程序

每一部分都包含一些章节向你介绍JavaFX技术,并带你学习如何将其使用到你的应用程序开发中。

相关文档

有何新特性

本章对JavaSE 8中JavaFX组件的新特性和重大产品改变进行了概述。

● JavaFX应用程序的默认主题是新设计的Modena主题。详见“关键特性”一节中的Modena主题部分。

● 已经加入了对HTML5的支持。详见“向JavaFX应用程序中添加HTML内容”相关章节。

● 新添加的SwingNode类改进了与Swing的互操作性。参考“在JavaFX应用程序中嵌入Swing内容”相关章节。

● 新的内置UI控件,DatePicker和TableView,已经可用。参考《使用JavaFX UI控件》一文来获得更多信息。

● 3D图形库被改进了,增加了一些新的API类。参考“关键特性”一节中的3D图形特性部分和“开始使用JavaFX 3D图形”章节来获得更多信息。

● print包现在是可用的,并且提供了公开的JavaFX打印API

● 加入了富本文支持

● 对Hi-DPI显示的支持已经变得可用了

● CSS样式类变成了公开API

● 引入了调度服务类

第一部分 什么是JavaFX

第一部分包括如下章节:

第二部分 开始学习JavaFX样例程序

这一部分包括了一系列样例程序,它们可以帮助你了解一般的JavaFX编程任务,包括如何使用布局、控件、样式表、FXML和视觉效果。

资源文件

打赏一下

支付宝

微信

现在有个问题,需要请教

1.创建一个表格

2.表格中每一行 都是一个继承Task的对象

3.删除表格中的一行,但是内存中的对象实例并不会减少

4.在没有继承Task的时候,删除表格中的一行,内存中的实例减少了

5.继承Task,是为了实现进度条

不知道怎么解决这种内存泄漏啊?

使用了FXML,如何通过FXML传递参数。如何在FXMLLoader的时候将Stage传递给Controller对象

在loader.load()之后获取XXController对象,然后把Stage应用传给Controller:XXController xxCtrl=loader.getController();xxCtrl.setStage(primaryStage);//这方法要在XXController中自己定义。加载FXML文件的操作一般放在主程序中,这样好传递Stage给其他Controller

这个问题困扰我很长时间,现在终于解决了 我直接把代码发给你参考第一步 新建3个文件 PassParamMain.javaPassParamController.javaPassParam.fxml第二步 源代码======================================public class PassParamMain extends Application { @Override public void start(Stage stage) throws Exception { //使用这种方法就无法传参了 建议使用下面的方法// Parent root = FXMLLoader.load(getClass().getResource(“/fxml/PassParam.fxml”)); FXMLLoader loader = new FXMLLoader(getClass().getResource(“/fxml/PassParam.fxml”)); Parent root = loader.load(); Scene scene = new Scene(root,300,250, Color.WHITE); PassParamController passParamController = loader.getController(); passParamController.setUserData(“www.magicalcoder.com”);//关键在这 userData方法是我自定义的 stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); }}========================================public class PassParamController implements Initializable { private Object userData; public Object getUserData() { return userData; } public void setUserData(Object userData) { this.userData = userData; } @Override public void initialize(URL location, ResourceBundle resources) { System.out.println(userData);//这里肯定是null 因为load的时候,这个方法就执行了 那时还没setUserData } @FXML private Button button; @FXML public void click(){ System.out.println(userData);//这个肯定就有内容了 }}====================================<?import javafx.scene.control.Button?><?import javafx.scene.control.Label?><?import javafx.scene.layout.AnchorPane?> 第三步 自己看代码尝试吧 肯定可以的

不能发标签代码 我用转义了下

请问一下,对于目前javafx的布局方式有没有其他的类型,本人感觉fxml的布局很繁琐,似乎刻意模仿了微软的xaml,不如android的xml更加简练清晰,有没有类似android布局或者html那种div布局的方式?

觉着fxml布局繁琐,不会是手动写fxml文件吧?用Scene Builder 布局,可以拖控件,也不是很麻烦吧。

对,手写党,不喜欢拖拽,手抖,感觉不受自己控制^_^

fxml是针对javafx开发的类xml语言么??javafx没有像Qt用xml开发界面么??还有问下,scene builder在哪里下载??我怎么在oracle网上没找到??

就是xml的一种,xml可以被定制成各种ml,比如fxml,schema这些,有用xml开发界面的,不过很难用,用xml开发界面的不管是javafx还是android,都很垃圾

两种方法:1、嵌在代码里;2、FXML。

我用spring 集成了一个javafx的开发框架 下载地址 http://www.magicalcoder.com 欢迎学习交流 直接注解后 在哪里都可以获取controller 的实体 spring 你懂的

真棒,JavaFX官方提供了spring、guice等的支持机制,你用得很好!

每篇的源代码可以从哪里统一下载啊?我在甲骨文官网上写的示例文件里怎么没有这些啊,感谢感谢!

网站顶部导航”JavaFX中文文档”中的子菜单,每个页面的尾部都有相关资源下载。

网站内容不错。要是背景和文字优化一下就更好了,文字字体较小,颜色较浅和背景色看起来眼睛好累。

本人初学者,请问下怎么建立本地缓存呢,有具体案例吗?另外哪里有复杂一点的开源项目可供学习的,github上没找到多少有价值的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值