JavaFX通过按钮点击在一个舞台上切换不同场景

JavaFX介绍

JavaFX项目在刚开始创建时有两个类,一个是HelloApplication另一个是HelloController

其中HelloApplication用于写各种方法并绑定不同的FXML文件,HelloController控制类处理用于控制FXML文件中的UI元素和处理逻辑。本文使用图书管理系统部分代码去展示不同。

HelloApplication部分

开头一定要继承Application,并重写里面的Star方法,然后开始创建公共舞台,并设置不同的场景

场景代码如下:(目录末包含全部代码)

package com.example.demo;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

import java.io.IOException;

public class HelloApplication extends Application {
    private static Stage primaryStage;
    public void start(Stage primaryStage) throws IOException {
        this.primaryStage = primaryStage;
        starScene();
    }
    private void starScene() {
        try {
            FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("hello-view.fxml"));
            Scene scene = new Scene(fxmlLoader.load(), 370, 210);
            primaryStage.setResizable(false);
            primaryStage.setTitle("欢迎来到网络图书馆");
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void loginScene(){
        try {
            FXMLLoader fxmlLoader = new FXMLLoader(Login.class.getResource("login.fxml"));
            Scene scene = new Scene(fxmlLoader.load(), 330, 250);
            primaryStage.setResizable(false);
            primaryStage.setTitle("图书馆管理手册");
            primaryStage.setScene(scene);
            primaryStage.show();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    public static void bookScene(){
        try {
            FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("BookList.fxml"));
            Scene scene = new Scene(fxmlLoader.load(), 405, 390);
            primaryStage.setResizable(false);
            primaryStage.setTitle("图书馆");
            primaryStage.setScene(scene);
            primaryStage.show();
        }catch (IOException e){
            e.printStackTrace();
        }
    }


    public static void main(String[] args) {
        launch(args);
    }
}
HelloController

控制类中主要写点击按钮后调用的方法

FXML文件

在FXML文件的按钮上添加

然后就可以实现不同页面的转换了!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值