java 闪屏 java应用程序运行时闪屏 运行时图片

[html]  view plain copy
  1. 不好意思呀,从网上找到的源代码,再找时,找不到了原网址了,表示歉意。  

java 应用程序,闪屏,也就是弹出一个图片,几秒后显示主程序,或是主程序的登录界面。网上的应用例子应该有好几种,这里给出一种,在闪屏下面加动态文字提示的闪屏。

源代码:

[html]  view plain copy
  1. package cmsdb.gui;  
  2. import java.awt.Color;  
  3. import java.awt.Dimension;  
  4. import java.awt.Font;  
  5. import java.awt.Graphics2D;  
  6. import java.awt.SplashScreen;  
  7. import java.io.FileInputStream;  
  8. import java.util.Scanner;  
  9.   
  10. public class Frm_main {  
  11.     public static void main(String[] args) {  
  12.   
  13.         try {  
  14.             new Thread() {  
  15.                 SplashScreen splash = SplashScreen.getSplashScreen();  
  16.                 private FileInputStream fis;  
  17.                 private Scanner scanner;  
  18.                 final Graphics2D g2 = splash.createGraphics();  
  19.                 final Dimension size = splash.getSize();  
  20.                 public void run() {  
  21.                     try {  
  22.                         drawInfo("程序启动中……");  
  23.                         // initAndRecLog();  
  24.                         // 初始化并记录日志  
  25.                         // System.out.println("系统正在启动中......");  
  26.                         // System.out.println("系统启动正常......");  
  27.                         // System.out.println("进入数据库操作主窗体......");  
  28.                         // System.out.println("成功进入登陆窗口......");  
  29.                         fis = new FileInputStream("splash.log");  
  30.   
  31.                         scanner = new Scanner(fis);  
  32.                         while (scanner.hasNextLine()) {  
  33.                             String str = scanner.nextLine();  
  34.                             str = "启动信息:" + str;  
  35.                             drawInfo(str);  
  36.                             Thread.sleep(800);  
  37.                         }  
  38.                         scanner.close();  
  39.                         fis.close();  
  40.   
  41.                     } catch (Exception e) {  
  42.                         e.printStackTrace();  
  43.                     }  
  44.                 }  
  45.   
  46.                 // 初始化系统,并记录日志  
  47.                 // private void initAndRecLog() throws FileNotFoundException {  
  48.                 // FileOutputStream fop = new FileOutputStream("AutoBack.log");  
  49.                 // PrintStream ps = new PrintStream(fop);  
  50.                 // System.setOut(ps);  
  51.                 //                   
  52.                 // }  
  53.                 // 在闪屏界面绘制文本信息  
  54.                 private void drawInfo(String info) {  
  55.                     g2.setColor(Color.BLACK);  
  56.                     g2.fillRect(0, size.height - 20, size.width, 20);  
  57.                     g2.setColor(Color.GREEN);  
  58.                     g2.setFont(new Font("微软雅黑", Font.PLAIN, 15));  
  59.                     g2.drawString(info, 10, size.height - 5);  
  60.                     splash.update();  
  61.                 }  
  62.             }.start();  
  63.         } catch (Exception e) {  
  64.             System.out.println(e.toString());  
  65.         }  
  66.         try {  
  67.             Thread.sleep(3000); // 这儿决定SplashScreen显示时间长短.  
  68.         } catch (Exception e) {  
  69.             System.out.println(e.toString());  
  70.         } // 对于实际应用程序,这儿对应程序的初始化工作  
  71.         WelcomeFrame wf = new WelcomeFrame();  
  72.         wf.setVisible(true);  
  73.     }  
  74. }  

 

[html]  view plain copy
  1. package cmsdb.gui;  
  2. import java.awt.BorderLayout;  
  3. import java.awt.EventQueue;  
  4. import javax.swing.JFrame;  
  5. import javax.swing.JPanel;  
  6. import javax.swing.border.EmptyBorder;  
  7. public class WelcomeFrame extends JFrame {  
  8.   
  9.     private JPanel contentPane;  
  10.   
  11.     /**  
  12.      * Launch the application.  
  13.      */  
  14.     public static void main(String[] args) {  
  15.         EventQueue.invokeLater(new Runnable() {  
  16.             public void run() {  
  17.                 try {  
  18.                     WelcomeFrame frame = new WelcomeFrame();  
  19.                     frame.setVisible(true);  
  20.                 } catch (Exception e) {  
  21.                     e.printStackTrace();  
  22.                 }  
  23.             }  
  24.         });  
  25.     }  
  26.     /**  
  27.      * Create the frame.  
  28.      */  
  29.     public WelcomeFrame() {  
  30.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  31.         setBounds(100, 100, 450, 300);  
  32.         contentPane = new JPanel();  
  33.         contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));  
  34.         contentPane.setLayout(new BorderLayout(0, 0));  
  35.         setContentPane(contentPane);  
  36.     }  
  37.   
  38. }  

上面的这个例子,不能在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 放在同级目录下。

打包后,运行下,看下效果吧。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值