java闪屏登陆_【原创】 java 启动画面(闪屏)splash

本文详细介绍了如何在Java程序启动时添加启动画面(闪屏),并动态显示文字内容。通过创建线程,结合`SplashScreen`类,实现了在闪屏上绘制文本信息。同时,给出了MANIFEST.MF配置、所需资源文件的组织结构,以及程序运行流程。
摘要由CSDN通过智能技术生成

关于java jar包启动画面(闪屏)splash

目的:在启动jar时,显示启动画面,并动态显示文字内容。

具体代码如下:

package cmsdb.gui;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Graphics2D;

import java.awt.SplashScreen;

import java.io.FileInputStream;

import java.util.Scanner;

public class Frm_main{

public static void main(String[] args){

new Thread() {

SplashScreen splash =SplashScreen.getSplashScreen();

private FileInputStream fis;

private Scanner scanner;

final Graphics2D g2 = splash.createGraphics();

final Dimension size = splash.getSize();

public void run() {

try {

drawInfo("程序启动中……");

//initAndRecLog();

// 初始化并记录日志

//System.out.println("系统正在启动中......");

//System.out.println("系统启动正常......");

//System.out.println("进入数据库操作主窗体......");

//System.out.println("成功进入登陆窗口......");

fis = new FileInputStream("splash.log");

scanner = new Scanner(fis);

while (scanner.hasNextLine()) {

String str = scanner.nextLine();

str="启动信息:"+str;

drawInfo(str);

Thread.sleep(800);

}

scanner.close();

fis.close();

} catch (Exception e) {

e.printStackTrace();

}

}

// 初始化系统,并记录日志

//private void initAndRecLog() throws FileNotFoundException {

//FileOutputStream fop = new FileOutputStream("AutoBack.log");

//PrintStream ps = new PrintStream(fop);

//System.setOut(ps);

//

//}

// 在闪屏界面绘制文本信息

private void drawInfo(String info) {

g2.setColor(Color.BLACK);

g2.fillRect(0, size.height - 20, size.width, 20);

g2.setColor(Color.GREEN);

g2.setFont(new Font("微软雅黑", Font.PLAIN, 15));

g2.drawString(info, 10, size.height - 5);

splash.update();

}

}.start();

try{

Thread.sleep(3000); //这儿决定SplashScreen显示时间长短.

}catch(Exception e){} //对于实际应用程序,这儿对应程序的初始化工作

WelcomeFrame wf = new WelcomeFrame();

wf.setVisible(true);

}

}

package cmsdb.gui;

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

public class WelcomeFrame extends JFrame {

private JPanel contentPane;

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

WelcomeFrame frame = new WelcomeFrame();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

* Create the frame.

*/

public WelcomeFrame() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 450, 300);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

contentPane.setLayout(new BorderLayout(0, 0));

setContentPane(contentPane);

}

}

1、新建文件夹:META-INF 为空。新建image文件夹,放入显示图片splash.jpg

2、新建文件 MANIFEST.MF

Manifest-Version: 1.0

Created-By: Fat Jar Eclipse Plug-In

SplashScreen-Image: image/splash.gif

Main-Class: cmsdb.gui.Frm_main

Class-Path: . ./lib

3、新建文件:splash.log 即想显示的文字内容:

系统正在启动中......

系统启动正常......

进入数据库操作主窗体......

成功进入数据库操作主窗体......

4、我使用build Fat Jar 插件,打包。

具体设置 见附件

5、选择 MANIFEST.MF 文件,记得要选择 META-INF文件夹 和 splash.jpg 一起 打包。否则

欢迎转载,请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值