Fullstar

Archives

  • December 2025
  • August 2024
  • July 2024
  • February 2024
  • November 2023
  • August 2023
  • July 2023
  • January 2023
  • November 2022
  • October 2022
  • September 2022
  • February 2022
  • January 2022
  • September 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020

Categories

  • Code
  • Lens
  • Life
0
Fullstar
  • Code

JavaFx常用语句(查阅用)

  • September 28, 2020
  • Brandon
Total
0
Shares
0
0
0

1.controller中获取stage

使用场景:点击按钮跳转至其他页面并关闭本页面

Stage stage = (Stage) mybutton.getScene().getWindow();//mybutton为此页面中任一组件的id名
stage.close();

2.载入.fxml文件

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        Scene scene = new Scene(root);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

3.切换页面

public void changePage(ActionEvent event){
        Stage stage = (Stage) mybutton.getScene().getWindow();

        try {
            Parent root = FXMLLoader.load(getClass().getResource("secondpage.fxml"));//载入新页面
            Scene scene = new Scene(root);
            stage.setScene(scene);
            stage.show();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

4.非UI线程调用UI线程对组件进行修改

方法来源:javafx非控制类获取控制类的控制器

场景:有一个线程类A与UI启动类B,线程类A想要修改B的组件则需要获取B的控制器类,从而调用其对应方法

public class BarragePage extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {

        FXMLLoader fxmlLoader = new FXMLLoader(Main.class.getResource("barragepage.fxml"));
        Scene scene = new Scene(fxmlLoader.load());
        BarragePageController bc = fxmlLoader.getController();//获取控制器

        Thread listenThread = new Thread(new ServerNet(bc));//后台监听线程,将控制器传入,从而在ServerNet类内对页面进行修改
        listenThread.start();

        primaryStage.setScene(scene);
        primaryStage.show();//展示当前页面
    }
}

注:上述代码需要注意顺序,可输出bc值判断是否成功获取控制器,获取失败则得到null

Total
0
Shares
Share 0
Tweet 0
Pin it 0
Brandon

Previous Article
  • Code

Java 多线程

  • September 26, 2020
  • Brandon
View Post
Next Article
  • Code

SpringBoot+WebSocket

  • October 27, 2020
  • Brandon
View Post
You May Also Like
View Post
  • Code

WordPress 后台任务利器:使用 BGRunner 构建可靠的异步处理

  • Brandon
  • December 14, 2025
View Post
  • Code

WordPress image offload

  • Brandon
  • December 14, 2025
View Post
  • Code

ComfyUI应用手册

  • Brandon
  • December 6, 2025
View Post
  • Code

Leetcode Java常用代码

  • Brandon
  • February 17, 2024
View Post
  • Code

Golang入门

  • Brandon
  • February 4, 2024
View Post
  • Code

Setting Up and Maintaining a Ubuntu Environment for My Home Server

  • Brandon
  • November 24, 2023
View Post
  • Code

Swift Learning Log

  • Brandon
  • August 31, 2023
View Post
  • Code

English Learning – Food Related

  • Brandon
  • August 31, 2023

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Fullstar

Input your search keywords and press Enter.