博客
关于我
java程序启动界面的实现
阅读量:581 次
发布时间:2019-03-11

本文共 3222 字,大约阅读时间需要 10 分钟。

两种不同的程序启动界面案例分析

作为一名开发人员,你可能已经多次遇到了程序启动界面的设计任务。以下两种程序启动界面案例可以为你的项目提供灵感。

案例说明

当程序启动时,展示简洁直观的界面能为用户带来良好的使用体验。通过设置适当的图片和进度条等元素,可以让用户感受到程序启动的专业性和美观度。

案例过程

以下两种程序启动界面展示了不同的风格和功能实现。哪种更适合你的项目取决于你的个人喜好和需求。

第一种程序启动界面

代码如下:

package com.student.frame;/*** 系统启动类* @author Administrator*/// 导入包import javax.swing.*;import java.awt.*;import java.util.Timer;import java.util.TimerTask;// 启动主类继承窗体父类并实现线程接口public class Index extends JWindow implements Runnable {    private static final long serialVersionUID = 1L;    private JProgressBar jpb;    private JLabel jl;    // 构造方法    public Index() {        init();    }    // 初始化方法    public void init() {        jl = new JLabel(new ImageIcon("image/0.png"));        jpb = new JProgressBar();        jpb.setStringPainted(true);        jpb.setIndeterminate(false);        jpb.setBorderPainted(false);        jpb.setBackground(Color.pink);        setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));        this.add(jl, BorderLayout.NORTH);        this.add(jpb, BorderLayout.SOUTH);        this.setSize(384, 292);        this.setLocationRelativeTo(null);        this.pack();        this.setVisible(true);    }    // 设置线程方法    public void run() {        int[] progressValue = { 0, 1, 5, 8, 14, 17, 26, 35, 38, 43, 49, 56, 65, 71, 75, 78, 86, 94, 98, 99, 100 };        for (int i = 0; i < progressValue.length; i++) {            try {                Thread.sleep(1000);            } catch (InterruptedException e) {                e.printStackTrace();            }            jpb.setValue(progressValue[i]);        }    }    // 启动类主方法    public static void main(String[] args) {        Index i = new Index();        Thread t = new Thread(i);        t.start();    }}第二种程序启动界面代码如下:

// 注意:本代码仅为说明用例,实际项目请根据需求调整设置import javax.swing.;import java.awt.;import java.net.*;

// 程序启动界面类public class JWindowDemo extends JWindow implements Runnable {Thread splashThread;JProgressBar progress;

// 构造方法public JWindowDemo() {    Container container = getContentPane();    setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));    // 加载图片    URL url = getClass().getResource("login.jpg");    if (url != null) {        container.add(new JLabel(new ImageIcon(url)), BorderLayout.CENTER);    }    // 初始化进度条    progress = new JProgressBar(1, 100);    progress.setStringPainted(true);    progress.setString("加载程序中,请稍候...");    progress.setBackground(Color.white);    container.add(progress, BorderLayout.SOUTH);    // 设置窗口位置    Dimension screen = getToolkit().getScreenSize();    setLocation((screen.width - getSize().width) / 2, (screen.height - getSize().height) / 2);    pack();}// 启动线程public void start() {    this.toFront();    splashThread = new Thread(this);    splashThread.start();}// 线程执行方法public void run() {    setVisible(true);        try {        for (int i = 0; i < 100; i++) {            Thread.sleep(100);            progress.setValue(progress.getValue() + 1);        }    } catch (Exception ex) {        ex.printStackTrace();    }    dispose();}// 启动类主方法public static void main(String[] args) {    JWindowDemosplash = new JWindowDemo();    splash.start();}

}

案例总结两种启动界面的区别主要体现在视觉风格和功能实现上。第一种界面采用了纯文字的进度条设计,搭配一张图片,整体风格相对简洁;第二种则使用了图片合成的方式,共同营造出更丰富的视觉效果。你可以根据自己的项目需求选择合适的启动界面,同时结合不同风格进行定制化设计。

转载地址:http://rbytz.baihongyu.com/

你可能感兴趣的文章
OpenCV与AI深度学习 | CoTracker3:用于卓越点跟踪的最新 AI 模型
查看>>
OpenCV与AI深度学习 | OpenCV中八种不同的目标追踪算法
查看>>
OpenCV与AI深度学习 | OpenCV图像拼接--Stitching detailed使用与参数介绍
查看>>
OpenCV与AI深度学习 | OpenCV如何读取仪表中的指针刻度
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(一) :直接拼接
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(三):基于特征匹配拼接
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(二) :基于模板匹配拼接
查看>>
OpenCV与AI深度学习 | OpenCV常用图像拼接方法(四):基于Stitcher类拼接
查看>>
OpenCV与AI深度学习 | OpenCV快速傅里叶变换(FFT)用于图像和视频流的模糊检测(建议收藏!)
查看>>
OpenCV与AI深度学习 | SAM2(Segment Anything Model 2)新一代分割一切大模型介绍与使用(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | T-Rex Label !超震撼 AI 自动标注工具,开箱即用、检测一切
查看>>
OpenCV与AI深度学习 | YOLO11介绍及五大任务推理演示(目标检测,图像分割,图像分类,姿态检测,带方向目标检测)
查看>>
OpenCV与AI深度学习 | YOLOv10在PyTorch和OpenVINO中推理对比
查看>>
OpenCV与AI深度学习 | YOLOv11来了:将重新定义AI的可能性
查看>>
OpenCV与AI深度学习 | YOLOv8自定义数据集训练实现火焰和烟雾检测(代码+数据集!)
查看>>
OpenCV与AI深度学习 | YOLOv8重磅升级,新增旋转目标检测,又该学习了!
查看>>
OpenCV与AI深度学习 | 一文带你读懂YOLOv1~YOLOv11(建议收藏!)
查看>>
OpenCV与AI深度学习 | 五分钟快速搭建一个实时人脸口罩检测系统(OpenCV+PaddleHub 含源码)
查看>>
OpenCV与AI深度学习 | 什么是 COCO 数据集?
查看>>
OpenCV与AI深度学习 | 低对比度缺陷检测应用实例--LCD屏幕脏污检测
查看>>