java dispose非静态_java 程序无法关闭窗口!用dispose()无效

packageQQ;importjava.awt.BorderLayout;importjava.awt.Dimension;importjavax.swing.*;importjava.awt.event.*;importjavax.swing.event.ChangeEvent;importjavax.swing.event.Chan...

package QQ;

import java.awt.BorderLayout;

import java.awt.Dimension;

import javax.swing.*;

import java.awt.event.*;

import javax.swing.event.ChangeEvent;

import javax.swing.event.ChangeListener;

import javax.xml.ws.Dispatch;

public class Progress_bar extends JFrame implements ActionListener

{

private static final long serialVersionUID = -2543187469376323631L;

//ActionListener ,ChangeListener是 2个实现进度条的 接口

private JPanel panel;

private Timer timer;

private JButton btn;

private JProgressBar pgb;

private JLabel label;

public void init()

{

panel = new JPanel();

btn = new JButton("start");

btn.addActionListener(this);

panel.add (btn,BorderLayout.CENTER);

timer = new Timer(1,this);//控制进度条速度

pgb = new JProgressBar();//可视化进度条(显示进度条)

pgb.setOrientation (JProgressBar.HORIZONTAL);

pgb.setMaximum (100);//显示已完成多少(到多少)

pgb.setMinimum (0);//显示已完成多少(从多少开始)

pgb.setValue (0);//将进度条的当前值设置为 0

pgb.setStringPainted (true);//设置 stringPainted 属性的值,

//该属性确定进度条是否应该呈现进度字符串。

pgb.setPreferredSize (new Dimension(400,80));

//Dimension 类封装单个对象中组件的宽度和高度(好像没什么 用)

label = new JLabel("正在启动QQ...");//创建一个标示(用于显示进度文字的显示)

JFrame frame = new JFrame("test");

frame.add (panel,BorderLayout.SOUTH);

frame.add (pgb,BorderLayout.CENTER);

frame.add (label,BorderLayout.NORTH);

frame.setBounds(450, 300, 350, 100);//设置窗体长和宽

frame.setVisible (true);//显示窗体

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);//关闭有效

}

public static void main(String args[])

{

new Progress_bar().init (); //执行 程序

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource ()==btn)

{

timer.start ();

}

if(e.getSource ()==timer)

{

int value = pgb.getValue () ;

if(value<100)

{

value++;

pgb.setValue (value);

}

if(value ==100)

{

timer.stop ();

pgb.setValue (0);

dispose();

}

}

}

}

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值