博客
关于我
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/

你可能感兴趣的文章
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
查看>>
NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
查看>>
NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
查看>>
NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
查看>>
NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
查看>>
NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
查看>>
NIH发布包含10600张CT图像数据库 为AI算法测试铺路
查看>>
Nim教程【十二】
查看>>
Nim游戏
查看>>
NIO ByteBuffer实现原理
查看>>
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>