JavaFX、
JavaFx是一个java库,可以使用他开发丰富的互联网应用程序,通过使用java技术,这些应用程序的浏览器渗透率为76%
什么是javafx:
JavaFX是用于构建富互联网应用程序的Java库。
使用此库编写的应用程序可以跨多个平台一致运行。
使用JavaFX开发的应用程序可以在各种设备上运行,如台式计算机,手机,电视,平板电脑等。
一些重要功能:
①使用Java语言编写
②FXML - JavaFX采用称为FXML的语言
③Scene Builder - JavaFX提供了一个名为Scene Builder(场景生成器)的应用程序
④Swing互操作性 - 在JavaFX应用程序中,可以使用Swing Node类嵌入Swing内容
⑤内置UI控件 - JavaFX库UI控件使用它可以开发一个全功能的应用程序。
⑥类似CSS的样式
⑦画布和打印API - JavaFX提供了Canvas,即时模式样式的渲染API。
⑧丰富的API集合 - JavaFX库提供了一组丰富的API来开发GUI应用程序,2D和3D图形等
⑨集成图形库 - JavaFX为2d和3d图形提供类。
⑩图形管道 - JavaFX支持基于硬件加速图形管道(称为Prism)的图形。
新建一个javafx点击按钮生成时间
①新建一个new FXML Document
②添加面板,按钮,文本框
③配置FX事件
④在Controller层添加注解对应FX界面中的控制按钮还有处理事件
⑤运行main,完成
简单来说就是画控制面板的工具,画面板,添加事件,一部到位
首先
必须是JDK8以上的并安装javafx,可以安装画面板的工具:
**JavaFX Scene Builder**并配置:
新建一个javafx类
运行那个Main类就可以生成一个简单的面板了:
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
//第一个界面
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("Hello World");
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
可以在sample.fxml文件里修改,添加面板的控件,以及控制函数的类名
如图添加了Button按钮,和一个文本框直接在左边的Containers里面拉拽过去就行
点击按钮,在右边Code里面可以调整大小和设置控制器类名字,还有调用函数
如图给按钮的id为myButton事件为showDateTime
文本框为myTextField
添加好后记得在sample.fxml界面添加这行代码指定控制器类
接下来进入Controller类
通过注解@FXML下面指定按钮或者文本框的名字来指定界面的按钮还有文本框对应的控件类
以及函数名对应的是点击按钮对应的事件名
这次的目的是通过点击按钮在文本框上面显示当前时间,Controller代码如下:
package sample;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import java.net.URL;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
public class Controller implements Initializable {
@FXML
private Button myButton;
@FXML
private TextField myTextField;
@Override
public void initialize(URL location, ResourceBundle resources){
}
public void showDateTime(ActionEvent event){
System.out.println("Button Clicked");
Date now = new Date();
DateFormat df = new SimpleDateFormat("yyyy-dd-MM HH:mm:ss");
String dateTimeString = df.format(now);
myTextField.setText(dateTimeString);
}
}
实现效果如下: