java窗口进度条_java 进度条应用

该博客展示了如何使用Java Swing创建一个带有进度条的简单应用程序。通过JProgressBar类实现水平进度条,设置其最小值、最大值和初始值,并在用户点击运行按钮时更新进度。同时,使用Timer类来控制进度条的动态变化,当进度达到100%时显示“加载完成”。
摘要由CSDN通过智能技术生成

31ac4eff8147c2d4c64e825d40b44110.gif

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

import javax.swing.event.ChangeEvent;

import javax.swing.event.ChangeListener;

public class JBTest extends JFrame implements ActionListener,ChangeListener{

JProgressBar jpb;

JLabel jl;

Timer time;

JButton jb;

JPanel jp1;

/**

* @param args

*/

public static void main(String[] args) {

JBTest jb=new JBTest();

}

public JBTest(){

jb=new JButton("运行");

jb.addActionListener(this);

jl=new JLabel("请点击运行按钮", JLabel.CENTER);

time=new Timer(100,this);//创建一个 Timer 并将初始延迟和事件间延迟初始化为100毫秒

jpb=new JProgressBar();

jpb.setOrientation(JProgressBar.HORIZONTAL);//设置进度条方向为水平放置

jpb.setMaximum(0);//进度条最小值

jpb.setMaximum(100);//进度条最大值

jpb.setValue(0);//设置进度条当前值

//jpb.setStringPainted(true);//确定进度条是否应该呈现进度字符串

jpb.addChangeListener(this);

jpb.setPreferredSize(new Dimension(300, 20));

jpb.setBorderPainted(true);//设置进度条边框

jpb.setBackground(Color.white);

jp1=new JPanel();

jp1.add(jb);

//添加组件在面板中的位置

this.add(jpb,"North");

this.add(jl,"Center");

this.add(jp1,"South");

this.setTitle("进度条示例");

this.setSize(300,110);

this.setLocation(100,100);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//设置窗口不可调整大小

this.setResizable(false);

this.setVisible(true);

}

@Override

public void actionPerformed(ActionEvent e) {

if (e.getSource()==jb){

time.start();

}

else if(e.getSource()==time){

int v=jpb.getValue();

if (v<100){

jpb.setValue(++v);

}else{

time.stop();

jl.setText("加载完成");

}

}

}

public void stateChanged(ChangeEvent e1){

int v=jpb.getValue();

if (e1.getSource()==jpb){

jl.setText("进度条进度为:"+Integer.toString(v)+"%");

jl.setForeground(Color.blue);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值