1、JavaFx介绍
JavaFX是Oracle公司开发的一套比较好的java的UI的库,在1.0的版本好像是个不知道的新的一种脚本,现在的这个2.0之,后的版本,就是在java的代码编写,在加上像android的布局的一些文件。
在以前的老点的JDK版本,要单独安装javaFX的一些组件,现在全部都集成在一起了,我现在使用的版本是JDK1.7_10.
在学习的时候,建议大家下载官方的Demo程序,可以看到一些基本的组件和组件得到使用的方法。
下面列出Demo的一些截图:
javaFx、Swing、AWT的区别:
AWT,是重量级的,本质上来说是调用系统的api,生产的组件(所以,界面最与系统风格相似)。
Swing就是,在基于一个原生态的画板,在上面用一支画笔绘出界面。
JavaFX,就是基于Swing的。
参考:http://baike.baidu.com/view/951173.htm
http://www.oracle.com/technetwork/java/javafx/overview/index.html
2、 JavaFX环境搭建
本次教程所使用的工具JDK1.7_10(你懂的), eclipse-SDK-4.2.1-win32-efx-0.8.0(包含有javaFX的SDK,和一些版本插件),javafx_scenebuilder-1_1-beta-b16-windows-20_dec_2012(一种生成布局文件的工具。)。
安装好上面的软件,即可。
3、 JavaFX工具使用
布局界面工具的使用:
4、 JavaFX的 Hello World。
1、通过java的代码,新建的应用的程序。
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
/**
*
* @author Wang
*/
public class HelloWorld extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("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, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
2、通过fxml界面的配置文件,作为用户的界面(这个有点类似于新建android程序中的layout布局的文件)。
主程序的入口:
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
/**
*
* @author Wang
*/
public class HelloWorld extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("Sample.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
加载的布局的文件(Sample.fxml)
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml" fx:controller="javafxapplication8.SampleController">
<children>
<Button layoutX="126" layoutY="90" text="Click Me!" onAction="#handleButtonAction" fx:id="button" />
<Label layoutX="126" layoutY="120" minHeight="16" minWidth="69" fx:id="label" />
</children>
</AnchorPane>
布局文件中,事件的控制文件,以及控件的初始化的…
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
/**
*
* @author Wang
*/
public class SampleController implements Initializable {
@FXML
private Label label;
@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("You clicked me!");
label.setText("Hello World!");
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
PS:通过,netbeans上面可以很容易的创建内置的JavaFx的应用。上面的很多内容都很有参考价值。界面的布局跟android的上面有一定的相识程度。
57 个解决方案
#1
#2
这个要顶呢
#3
好东西唀的...
#4
好好好,虽然不明白,哈哈……
#5
#6
#7
#8
#9
我也写过几个简单的代码
基本和安卓代码极像
基本和安卓代码极像
#10
这个刚好我现在用得着~~~~~~~~
#11
good topic
#12
#13
定定定。
#14
java UI除了用在移动平台上,还能用在哪里呢?
#15
高可用性ZgvS df
#16
貌似 JAVAFX 很不错的样子!
#17
#18
我也写过
#19
不错,值得看看
#20
好贴 ,顶顶顶
#21
好工具大家喜欢。
#22
#23
很好,虽然看不懂但是很好
#24
#25
呵呵国际控股
#26
这个不错,我喜欢!!!
#27
呵呵国际控股
#28
#29
好东西 感谢楼主了
#30
好用吗
#31
这个要顶呢
#32
java UI除了用在移动平台上,还能按照这个方法处理吗?http://www.chinafanli.com/index.php?mod=help&act=index
#33
#34
#35
不知道是不是很稳定,还有跨平台等等。你懂得。
#36
#37
就对技术就对技术
#38
#39
#40
#41
初学者,请多多关照
#42
http://d-h.st/k9Xhttp://d-h.st/k9Xhttp://d-h.st/k9Xhttp://d-h.st/k9Xhttp://d-h.st/k9Xhttp://d-h.st/k9X
#43
#44
#45
感谢达人分享
#46
#47
看不明白
#48
java的代码怎么看都是那么优雅
#49
谢谢!好东西!
#50
#1
#2
这个要顶呢
#3
好东西唀的...
#4
好好好,虽然不明白,哈哈……
#5
#6
#7
#8
#9
我也写过几个简单的代码
基本和安卓代码极像
基本和安卓代码极像
#10
这个刚好我现在用得着~~~~~~~~
#11
good topic
#12
#13
定定定。
#14
java UI除了用在移动平台上,还能用在哪里呢?
#15
高可用性ZgvS df
#16
貌似 JAVAFX 很不错的样子!
#17
#18
我也写过
#19
不错,值得看看
#20
好贴 ,顶顶顶
#21
好工具大家喜欢。
#22
#23
很好,虽然看不懂但是很好
#24
#25
呵呵国际控股
#26
这个不错,我喜欢!!!
#27
呵呵国际控股
#28
#29
好东西 感谢楼主了
#30
好用吗
#31
这个要顶呢
#32
java UI除了用在移动平台上,还能按照这个方法处理吗?http://www.chinafanli.com/index.php?mod=help&act=index
#33
#34
#35
不知道是不是很稳定,还有跨平台等等。你懂得。
#36
#37
就对技术就对技术
#38
#39
#40
#41
初学者,请多多关照
#42
http://d-h.st/k9Xhttp://d-h.st/k9Xhttp://d-h.st/k9Xhttp://d-h.st/k9Xhttp://d-h.st/k9Xhttp://d-h.st/k9X
#43
#44
#45
感谢达人分享
#46
#47
看不明白
#48
java的代码怎么看都是那么优雅
#49
谢谢!好东西!