本文章主要针对JavaFX的入门内容进行讲解
创建项目
next 下一步的其他组件可以不用选
项目结构
HelloApplication-项目运行入口
HelloController-前后端交互类(跟Spring项目一样,功能交互的类都是Controller)
hello-view.fxml-前端设计文件
module-info.java-JavaFX基本都采用了模块化,这个属于模块化配置文件
这些就是初始项目的结构,项目越完善,肯定结构越细致,这个以后再聊
这里是项目启动入口类,初始化基本都在这里完成
public class HelloApplication extends Application {
@Override
public void start(Stage stage) throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("hello-view.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 320, 240);
stage.setTitle("Hello!");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch();
}
}
这个是Controller类,前后的交互入口就是在这定义的,基本的设计思路和Springboot这些框架设计思路差不多
public class HelloController {
@FXML
private Label welcomeText;
@FXML
protected void onHelloButtonClick() {
welcomeText.setText("Welcome to JavaFX Application!");
}
}
这里就是模块化配置文件,这里限制了引入的包,如果发现代码没法调用一些包,就需要到这里进行配置
module com.example.demo {
requires javafx.controls;
requires javafx.fxml;
opens com.example.demo to javafx.fxml;
exports com.example.demo;
}
这里则是前端的设计文件,设计方法和安卓的类似,但是一些内容又和html的类似,设计文件可以直接修改xml,也可以使用图形化界面去设计
<VBox alignment="CENTER" spacing="20.0" xmlns:fx="http://javafx.com/fxml"
fx:controller="com.example.demo.HelloController">
<padding>
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0"/>
padding>
<Label fx:id="welcomeText"/>
<Button text="Hello!" onAction="#onHelloButtonClick"/>
VBox>
界面化设计可以借助官方的SceneBuilder,可视化设计,很方便
最后运行一下这个项目
以上就是FX的基本讲解,从整个设计思路来看,就和网页的开发没啥大的区别,一样还是前后端设计,学习FX的时候可以顺着前后端开发的影子去学,难度不大,对于有swing底子的,学习起来也会更顺手一些