java进度条显示百分比_java进度条|全球播报


(资料图)

1、import java.awt.Canvas;import java.awt.Color;import java.awt.Graphics;public class MyProgressBar extends Canvas {private float scaleSize;private float currentValue;public MyProgressBar() {this(100, 50);}public MyProgressBar(float scaleSize, float currentValue) {this.scaleSize = scaleSize;this.currentValue = currentValue;this.setBackground(Color.lightGray);this.setForeground(Color.magenta);setSize(150, 25);}public float getCurrentValue() {return currentValue;}public void setCurrentValue(float currentValue) {this.currentValue = Math.max(0, currentValue);if (this.scaleSize < this.currentValue) {this.currentValue = this.scaleSize;}}public float getScaleSize() {return scaleSize;}public void setScaleSize(float scaleSize) {this.scaleSize = Math.max(1.0f, scaleSize);if (this.scaleSize < this.currentValue) {this.scaleSize = this.currentValue;}}public synchronized void paint(Graphics g) {int w = getSize().width;int h = getSize().height;g.setColor(getBackground());g.fillRect(1, 1, w - 2, h - 2);g.fill3DRect(0, 0, w - 1, h - 1, true);g.setColor(getForeground());g.fillRect(3, 3, (int) (currentValue * (w - 6) / scaleSize), h - 6);}}下面是程序执行入口点:import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;public class TestMyProgressBar extends JFrame implements Runnable,ActionListener {private MyProgressBar bar;private JButton btnStart;static TestMyProgressBar tmpb;public TestMyProgressBar() {setSize(400, 300);setLocation(400, 400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setTitle("演示自定义进度条");setLayout(new FlowLayout());btnStart = new JButton("开始");this.add(btnStart);btnStart.addActionListener(this);bar = new MyProgressBar();setVisible(true);}public static void main(String[] args) {tmpb = new TestMyProgressBar();[emailprotected] void run() {for (int i = 1; i 0 && x < 100) {btnStart.setEnabled(false);}if (x == 100) {btnStart.setEnabled(true);}try {Thread.sleep(200);add(bar);} catch (InterruptedException e) {e.printStackTrace();[emailprotected] void actionPerformed(ActionEvent e) {if (e.getActionCommand().equals("开始")) {Thread t = new Thread(tmpb);t.start();}}}用servlet吧。

2、网上有很多!。

本文到此分享完毕,希望对大家有所帮助。

标签:

x 广告
x 广告

Copyright ©  2015-2023 港澳城市网版权所有  备案号:京ICP备2023022245号-31   联系邮箱:435 226 40 @qq.com