精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-08-24
上面介绍了如何JavaFx 2. 版本的环境配置和软件配置,现在就用JavaFx 2. 写第一个程序, 使用eclipse(已经安装好 e(fx)eclipse 插件,详见
)步骤如下: 1、File--New 2、选择 Project 或者 最后的 other 3、在 JavaFx下找到 JavaFx Project 4、按照 Java 那样创建一个Project 即可 5、创建类的时候,需要继承
javafx.application.Application
,或者直接创建类的时候,选择创建
JavaFx Main Class
也行。 现在看一下新创建好的JavaFx Project ,可以比普通的Java 项目多了一个Java Fx SDK 环境和一个名为 build.fxbuild 的 文件,SDK 中就一个 jfxrt.jar 文件,其实也可以不安装插件,将这个 jar 放到 lib文件中,导入项目环境配置即可,不过从长远来看,这样比较麻烦哈, build.fxbuild 包括了这个JavaFx 程序的一些信息,包括 开发者、程序及其签名的一些信息,这个文件后面可以作为发布 JavaFx 应用使用,暂不介绍。 我使用的版本是JavaFx2.2,使用的开发工具是eclipse 4.2 。暂不介绍 JavaFX Scene Builder,也就不使用 .fxml 来写界面了,现在就用代码先写一个示例先,下面代码的作用就是在“窗体”中央显示一个Button组件,点击这个button,控制台输出“Hello World”,先看看下面的代码: package org.javafx.study; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.BorderPaneBuilder; import javafx.stage.Stage; public class JavaFxHelloWorld extends Application { @Override public void start(Stage primaryStage) throws Exception { final Button button = new Button("Click me"); button.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { System.out.println("Hello World!"); } }); Parent root = BorderPaneBuilder.create().center(button).build(); Scene scene = new Scene(root, 300, 250); primaryStage.setScene(scene); primaryStage.setTitle("JavaFx: Hello World"); primaryStage.show(); } public static void main(String[] args) { Application.launch(args); } } JavaFx 应用程序继承自“javafx.application.Application”,Application 类是一个抽象类,从JavaFx 应用程序扩展而来。简单的来讲,无论什么时候运行一个JavaFx 程序实例,都是运行 init() 方法-----start()方法----最后运行stop()方法,不过start()方法是抽象的,因此要运行JavaFx程序必须实现 start 方法。 上面的构建一个Button组件和Swing差不多,但是 此处 Button的点击监听事件是 setOnAction,不在是Swing中的 addActionListener,其实 JavaFx 里面的监听事件通用名已经由Swing的中“add*Listener” 变成了“setOn*”,比如像进入拖动监听为“setOnDragEntered”等.......... 不介绍原理了,我也是从“JavaFX_2.0 Introduction by Example”和“Pro JavaFX 2”两部书以及Oracle官网看到的,英语也不太好,很多地方也许自己理解错了哈,哈哈。在上面的程序中,Stage类是JavaFX中的顶层容器,Scene类是一个类似场景(scene graph
)一样的东西,它包含了场景中的所有内容,Scene 类必须通过设置其root属性,你可以把root想象成一颗树的根(如果把Stage想象成JFrame,那么Scene可以类比成 JFrame的Container属性,这个Container中只添加了一个JTree,这儿的root 和JTree的“根节点”不一样,这儿的root就表示JTree,这个JTree可以添加各种Nodes,此处的Nodes 就可以比做Swing中JButton等各种组件。。。。是不是有点乱,我自己都感觉有点绕了,哎,先吃饭了。。。下次再写)。 请各位多多指正!
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 3846 次