漏洞扫描小工具启动界面--图片+进度条

漏洞扫描小工具写完后,我打算给其增加一个启动界面,此处借鉴于 https://blog.csdn.net/yy873259480/article/details/7411383
界面组成为图片+进度条,代码如下:

package vul_scan;
import java.awt.Color;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JProgressBar;
import javax.swing.JWindow;

import javax.swing.JFrame;
import javax.swing.UIManager;
@SuppressWarnings("serial")
public class JWindowDemo extends JWindow implements Runnable {
	// 定义加载窗口大小
	public static final int LOAD_WIDTH = 455;
	public static final int LOAD_HEIGHT = 295;
	// 获取屏幕窗口大小
	public static final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;
	public static final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;
	// 定义进度条组件
	public JProgressBar progressbar;
	// 定义标签组件
	public JLabel label;
	// 构造函数
	public JWindowDemo() {
		// 创建标签,并在标签上放置一张图片
		//label = new JLabel(new ImageIcon("vul_scan.jpg"));//图片位于根目录
		label = new JLabel(new ImageIcon("security.jpg"));//图片位于根目录
		label.setBounds(0, 0, LOAD_WIDTH, LOAD_HEIGHT - 15);
		// 创建进度条
		progressbar = new JProgressBar();
		// 显示当前进度值信息
		progressbar.setStringPainted(true);
		// 设置进度条边框不显示
		progressbar.setBorderPainted(false);
		// 设置进度条的前景色
		progressbar.setForeground(new Color(0, 210, 40));
		// 设置进度条的背景色
		progressbar.setBackground(new Color(188, 190, 194));
		progressbar.setBounds(0, LOAD_HEIGHT - 15, LOAD_WIDTH, 15);
		// 添加组件
		this.add(label);
		this.add(progressbar);
		// 设置布局为空
		this.setLayout(null);
		// 设置窗口初始位置
		this.setLocation((WIDTH - LOAD_WIDTH) / 2, (HEIGHT - LOAD_HEIGHT) / 2);
		// 设置窗口大小
		this.setSize(LOAD_WIDTH, LOAD_HEIGHT);
		// 设置窗口显示
		this.setVisible(true);
 
	} 
	public static void main(String[] args) {
		JWindowDemo t = new JWindowDemo();
		new Thread(t).start();
	} 
	@Override
	public void run() { 
		for (int i = 0; i < 100; i++) {
			try {
				Thread.sleep(100);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			progressbar.setValue(i);
		}
		JOptionPane.showMessageDialog(this, "加载完成");
		this.dispose();
		
		//以下为运行主程序+界面优化
//		String outLookAndFeel ="com.jtattoo.plaf.mcwin.McWinLookAndFeel";
//		try {
//			UIManager.setLookAndFeel(outLookAndFeel);
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//
//		new PortScannerFrame();	
	}
}

需要注意的一点:ImageIcon()函数中,加载的图片位置为根目录中的路径,而不是其绝对路径。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值