初次在oracle官网上了解到javaFX让我感到异常兴奋,这意味着想我这种不喜欢在学.net的人,给了我一个很大的惊喜,java也能写出漂亮的界面,打今起我将不断的学习官方提供的教程,希望有照一日,我能随心所遇的开发属于我的漂亮的桌面应用,也衷心祝愿oracle能靠这个打一个漂亮的翻身仗。

第一个应用总是由神奇的Hello World开始,这里也不例外。

看完之前的介绍,我想应该把开发javaFX的一些基本步骤配制好了。由于学习官网的教程,所以这里大部分是翻译的官网的文章,感兴趣的童鞋可以直接去oracle官网学习,这里是地址:http://docs.oracle.com/javase/8/javase-clienttechnologies.htm,本人喜欢用eclipse所以打今起的所有的内容都是在eclipse上开发的,而官网是用的NetBeans所以各投所好吧,毕竟IDE只是个工具,怎么用着舒服就用什么。


  1. 打开eclipse点击File菜单——>new——>other

  2. 选择javaFX Project 点击Next
  3. 之后就是输入您的项目名称,和普通的创建项目没区别了

java导入javafx依赖 javafx怎么导入_java导入javafx依赖

这是创建的项目的结构,自动包涵了javaFX的SDK

一开始不用去管application.css,build.fxbuild是什么怎么用,后面的文章会讲到的。重点看application包下的Main.java类。eclipse在自动创建项目的时候会给我们生成一些代码,这时候其实你已经可以去运行它了,但是出来的是一个空白的应用界面而已。

我们删掉这些代码,除了包名, 将下面的代码copy其中


<span style="font-size:14px;">import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;


public class Main extends Application {
	@Override
	public void start(Stage primaryStage) {
		try {
			Button btn=new Button("say 'Hello World'");
			btn.setOnAction(new EventHandler<ActionEvent>() {
				
				@Override
				public void handle(ActionEvent event) {
					System.out.println("Hello World");
					
				}
			});
			StackPane root = new StackPane();
			root.getChildren().add(btn);
			Scene scene = new Scene(root,400,400);
			primaryStage.setScene(scene);
			primaryStage.setTitle("Hello World");
			primaryStage.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}</span>


运行一下看一下效果,其实就是一个简单的界面加一个按钮,点击按钮会在控制台输出一句Hello World而已。

下面分析一下这些代码:

这个Main类继承了javafx.application.Application类,其中start()方法是所有javafx应用程序的入口,也就是说你的整个项目将从这里开始。

javaFX定义了用户界面的方法和舞台容器,Stage类是javaFX应用的最高层,Scene类包含了所有的类容,



这个场景的内容被表示为一个分层节点的场景图,在这个例子中root是一个StackPane对象,该对象是一个可调节尺寸的节点,意思是该大小可以随sence的大小变化而变化。

在这个root节点中包含了一个按钮子节点,该按钮添加了一个事件用来打印一个文本信息。

其中,main方法并不是必须的,如果应用程序JAR文件是用JavaFX包装工具创建

,就不需要这个main方法了,但是现在我们用IED还是需要这个方法的。

程序运行结果如下:

java导入javafx依赖 javafx怎么导入_oracle_02





怎么样是不是很简单,界面是不是比传统的swing不错多了?