欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

程序启动界面java代码

程序员文章站 2022-07-13 23:27:11
...

最近写了个程序启动界面,分享一下

import javax.swing.*;
import java.awt.*;
import java.net.*;
//Download by http://www.codefans.net
//程序启动界面
/*dkplus专业搜集和编写实用电脑软件教程,
*搜集各种软件资源和计算机周边,独立制作视频和ppt和音频微信公众号,
*点击进入 dkplus官方博客 (java网络编程http://dkplus.iteye.com),
*微信搜索dkplus关注公众号可获取海量计算机周边资源。*/

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();  //得到屏幕尺寸
    pack(); //窗口适应组件尺寸
    setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height)/2); //设置窗口位置
  }

  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(); //释放窗口
    showFrame(); //运行主程序
  }

  static void showFrame(){
    JFrame frame = new JFrame("程序启动界面演示"); //实例化JFrame对象
    frame.setSize(300,200);  //设置窗口尺寸
    frame.setVisible(true);  //窗口可视
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //关闭窗口时退出程序
  }

  public static void main(String[] args) {
    JWindowDemo splash = new JWindowDemo();
    splash.start();  //运行启动界面
  }
}