swing做的程序启动界面

来源:互联网 发布:北京淘宝服务商 编辑:程序博客网 时间:2024/06/05 16:25

类似于eclipse的进度条加载代码,很不错的效果。如下图:


转载请务必注明出处:http://www.zuidaima.com/share/1550463409130496.htm

package com.zuidaima.swing;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(); // 得到屏幕尺寸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(); // 运行启动界面}}    


2 0
原创粉丝点击