开始第一个javaFX应用

初次在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. 之后就是输入您的项目名称,和普通的创建项目没区别了

这是创建的项目的结构,自动包涵了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还是需要这个方法的。
程序运行结果如下:
























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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值