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, 我需要实现的功能:
- 登录面板小,dashboard 面板大
- 登录面板不允许最大化,dashboard 面板允许最大化
- 登录面板和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)!