自学内容网 自学内容网

springboot 集成javaFx 多个面板之间设置窗口大小,最大化设置

一.如果你有只有一个面板或着多个面板需要一样的设置,可以直接在XXXApplication 的 start 重写方法中设置.如以下代码所示:

package cn.mt4.follow;

import cn.mt4.follow.view.LoginView;
import de.felixroske.jfxsupport.AbstractJavaFxApplicationSupport;
import javafx.scene.image.Image;
import javafx.stage.Stage;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import java.util.Collection;

@SpringBootApplication
public class FollowOrderApplication extends AbstractJavaFxApplicationSupport {

    public static void main(String[] args) {
        launch(FollowOrderApplication.class, LoginView.class, args);
//        SpringApplication.run(FollowOrderApplication.class, args);
    }

    @Override
    public void start(Stage stage) throws Exception {
        stage.setTitle("XXX管理系统");
        // 设置面板宽度
        stage.setWidth(1024);
        // 设置面板高度
        stage.setHeight(768);
        //禁止最大化
        stage.setResizable(false);
        //屏幕居中显示
        stage.centerOnScreen();
        super.start(stage);
    }

    @Override
    public Collection<Image> loadDefaultIcons() {
        return super.loadDefaultIcons();
    }
}

二. 如果你有多个面板,并且每个面板之间的显示的宽高,以及基础设置都不一致的话就需要在跳转之前单独设置.

例如:我有两个面板,一个是登录,一个是dashboard, 我需要实现的功能:

  1. 登录面板小,dashboard 面板大
  2. 登录面板不允许最大化,dashboard 面板允许最大化
  3. 登录面板和dashboard 面板默认居中显示

要实现以上三个内容,因为第一个面板显示的是登录面板,所以初始化的也要进行设置,此设置 在XXXApplication 中设置,即 方法一的代码示例, 登录成功之后跳转到dashboard面板,登录参考代码如下:

@FXML
void login(ActionEvent event) {
    String accountFieldText = accountField.getText();
    String passwordFieldText = passwordField.getText();

    FollowOrderApplication.getStage().close();
    Stage stage = FollowOrderApplication.getStage();
    stage.setResizable(true);
    stage.setWidth(1024);
    stage.setHeight(768);
    stage.setMinWidth(1024);
    stage.setMinHeight(768);
    //屏幕居中显示
    stage.centerOnScreen();
    GUIState.setStage(stage);
    FollowOrderApplication.showView(DashboardView.class);
}

由dashboard 面板 跳转回登录面板参数退出登录方法代码,如下所示:

@FXML
void exitLogin() {
    FollowOrderApplication.getStage().close();
    Stage stage = FollowOrderApplication.getStage();
    //禁止最大化
    stage.setResizable(false);
    //是否最大化展示
    stage.setMaximized(false);
    //面板显示的宽度
    stage.setWidth(600);
    //面板显示的高度
    stage.setHeight(400);
    //屏幕居中显示
    stage.centerOnScreen();
    //重新设置舞台
    GUIState.setStage(stage);
    FollowOrderApplication.showView(LoginView.class);
}

如果想看下博主的项目代码层级结构可查看博主的springboot 集成javaFx 两个面板之间如何进行跳转这篇博客.


原文地址:https://blog.csdn.net/qq_36959217/article/details/145183390

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!