JavaFX制作餐厅管理系统(附源码)2

简介: JavaFX制作餐厅管理系统(附源码)2

四.最后优化

这里up主想出来的优化就是最后的界面优化,已经展示给大家看了,不过在最后一致的商讨下加了一个广告页和加载页美化一下流程页面

中间可以插入视频,按钮控制随时进入登录页面,我知道很多同学不喜欢广告(坏笑)

在中间插入了一个加载页,通过线程控制,有兴趣的同学可以学习,开始搜索的作用是防止误触,其实后面想想,就是一个美化的作用

所有的界面及功能展示完毕了,感谢各位的同学的观看及点赞,想要源码的可以私信up主,文章的最后会附上部分可直接运行的源码,up主也是一名在校学生,所以有大佬看见可以指点一番我也是非常欢迎(有不对的地方直接指出来,欢迎来喷),有同学对这方面感兴趣也可以私信up主交流,看到就回,本人脾气很好,很好说话,非常欢迎各位

最后大家能看到这里也是非常感谢,送各位还在学习的同学一句话:愿大家源于热爱,也忠于热爱

代码:

package com.zking.ui;
import java.io.File;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
/**
 * 加载等待页案例
 * 
 * @author Miaoqx
 */
public class LoadingDialog extends Application {
    int count = 0;
    Bigin bigin=new Bigin();
    // 创建字符串格式的媒体源路径
            String url = new File("E:\\项目资料\\S1结业\\项目资料图片\\背景图\\蟹堡王.mp4").getAbsoluteFile().toURI().toString();
            // 创建媒体对象
            Media media = new Media(url);
            // 创建媒体播放器
            MediaPlayer mPlayer = new MediaPlayer(media);
            // 创建媒体播放视图
            MediaView mView = new MediaView(mPlayer);
    @Override
    public void start(Stage stage) throws Exception {
        Label loadBtn = new Label("", new ImageView(new Image("图标\\进入1.jpg", 140, 80, true, true)));
        loadBtn.setStyle("-fx-background-color:while" + "");
        loadBtn.setFont(new Font("华文琥珀", 20));
        loadBtn.setPrefSize(140, 80);
        loadBtn.setCenterShape(true);
        GridPane gp = new GridPane();
        gp.addRow(1, loadBtn);
        gp.setMargin(loadBtn, new Insets(0, 0, 0, 250));
        loadBtn.setStyle("-fx-cursor:hand");
        loadBtn.setOnMouseClicked(event -> {
            stage.close();
            mPlayer.stop();
            Loading loading = new Loading(new Stage());
            loading.show();
            new Thread(() -> {
                while (true) {
                    count++;
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    if (count >= 4) {
                        loading.closeStage();
                        Platform.runLater(() -> {
                            try {
                                new Logins().start(stage);
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        });
                        break;
                    }
                }
            }).start();
//            new Thread(() -> {
//                // try {
//                // Thread.sleep(4000);
//                // } catch (InterruptedException e1) {
//                // e1.printStackTrace();
//                // }
//                
//            }).start();
        });
        // 设置媒体播放视图的宽度和高度
                    mView.setFitWidth(600);
                    mView.setFitHeight(600);
                    gp.setAlignment(Pos.BOTTOM_CENTER);
                    gp.addRow(0, mView);
                    mPlayer.play();
                    stage.setScene(new Scene(gp, 600, 500));
                    stage.setTitle("蟹堡王loading");
                    // stage.setMaximized(true);//设置占满全屏
                    // stage.getIcons().add(new Image("img\\R-C.gif"));
                    stage.show();
        // ------------------------------------------------
    }
    public static void main(String[] args) {
        launch(args);
    }
}
package com.zking.ui;
import javafx.application.Platform;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
    /**
     * 加载页
     * 
     * @author Miaoqx
     */
    public class Loading {
        protected Stage stage;
        protected StackPane root;
        protected Label messageLb;
        public Loading(Stage owner) {
            ImageView loadingView = new ImageView(
                    new Image("img\\汉堡加载界面.jfif"));// 可替换
            messageLb = new Label("稍等!美味蟹堡马上送达");
            messageLb.setFont(new Font("华文琥珀",20));
            messageLb.setStyle("-fx-Text-fill:brown");
            root = new StackPane();
            root.setMouseTransparent(true);
            root.setPrefSize(owner.getWidth(), owner.getHeight());
            root.setBackground(new Background(new BackgroundFill(Color.rgb(0, 0, 0, 0), null, null)));
            root.getChildren().addAll(loadingView, messageLb);
            root.setMargin(messageLb, new Insets(500,0,0,0));
            Scene scene = new Scene(root);
            scene.setFill(Color.TRANSPARENT);
            stage = new Stage();
            stage.setScene(scene);
            stage.setResizable(false);
            stage.initOwner(owner);
            stage.initStyle(StageStyle.TRANSPARENT);
            stage.initModality(Modality.APPLICATION_MODAL);
            stage.getIcons().addAll(owner.getIcons());
            stage.setX(owner.getX());
            stage.setY(owner.getY());
            stage.setHeight(owner.getHeight());
            stage.setWidth(owner.getWidth());
        }
//Timer
        // 更改信息
        public void showMessage(String message) {
            Platform.runLater(() -> messageLb.setText(message));
        }
        // 显示
        public void show() {
            Platform.runLater(() -> stage.show());
        }
        // 关闭
        public void closeStage() {
            Platform.runLater(() -> stage.close());
        }
    }
目录
相关文章
|
2月前
基于 JavaSwing 爱校俱乐部学生信息管理系统设计实现(附源码)
基于 JavaSwing 爱校俱乐部学生信息管理系统设计实现(附源码)
30 1
|
小程序 JavaScript 前端开发
微信小程序 |从零实现酷炫纸质翻页效果
微信小程序 |从零实现酷炫纸质翻页效果
1744 0
微信小程序 |从零实现酷炫纸质翻页效果
|
1月前
|
存储 测试技术 Python
【附源码】ttkbootstrap实现GUI信息管理系统
使用`ttkbootstrap`构建的GUI学生信息管理系统,展示学生数据的`Treeview`,支持添加、编辑和删除记录。核心功能包括: - `Treeview`展示学生信息。 - 表单窗口添加和编辑信息,利用`open_form_window`处理交互。 - 选择项后,`edit_data`和`delete_data`分别用于编辑和删除。 - 需要Python 3.8+和ttkbootstrap 1.10.1。 - 源码展示了数据结构、事件处理和窗口布局。 要运行,安装依赖并执行代码,测试各项功能以确保正常工作。
57 0
【附源码】ttkbootstrap实现GUI信息管理系统
|
2月前
|
JSON Java API
个人作品-微信服务号菜单管理神器
个人作品-微信服务号菜单管理神器
15 0
|
3月前
|
算法 C#
C#制作图书管理系统
C#制作图书管理系统
70 2
|
11月前
|
数据库 数据安全/隐私保护
JavaFX制作餐厅管理系统(附源码)1
JavaFX制作餐厅管理系统(附源码)1
72 0
|
12月前
|
小程序 Java 关系型数据库
JAVA仿猫眼电影系统(毕业设计)
JAVA仿猫眼电影系统(毕业设计)
159 0
|
小程序
🍁商城类小程序实战(二):底部导航栏的制作
🍁商城类小程序实战(二):底部导航栏的制作
300 3
🍁商城类小程序实战(二):底部导航栏的制作
美食杰项目 -- 登录注册(三)
美食杰项目 -- 登录注册(三)
美食杰项目 -- 登录注册(三)
|
Java 关系型数据库 MySQL
题目:javaWeb药房药品管理系统(附源码链接免费下载)
题目:javaWeb药房药品管理系统(附源码链接免费下载)
299 0
题目:javaWeb药房药品管理系统(附源码链接免费下载)