不好意思呀,从网上找到的源代码,再找时,找不到了原网址了,表示歉意。
java 应用程序,闪屏,也就是弹出一个图片,几秒后显示主程序,或是主程序的登录界面。网上的应用例子应该有好几种,这里给出一种,在闪屏下面加动态文字提示的闪屏。
源代码:
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) {
try {
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();
} catch (Exception e) {
System.out.println(e.toString());
}
try {
Thread.sleep(3000); // 这儿决定SplashScreen显示时间长短.
} catch (Exception e) {
System.out.println(e.toString());
} // 对于实际应用程序,这儿对应程序的初始化工作
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);
}
}
上面的这个例子,不能在eclipse 下运行可以显示闪屏效果。把应用程序打包成jar格式的文件后,运行才可以显示。在工程下右键,导出-导出为jar文件。
1.在src同级目录下创建MANIFEST.MF文件,内容如下:
Manifest-Version: 1.0
SplashScreen-Image: image/splash.jpg
Main-Class: cmsdb.gui.Frm_main
Class-Path: . lib/msbase.jar lib/mssqlserver.jar lib/msutil.jar
2.在src同级目录下,创建lib文件夹,用来存放数据库连接库jar
3.在src目录下,创建一个image文件夹,里面存放splash.jpg
4.打包后的jar文件和src 放在同级目录下。
打包后,运行下,看下效果吧。