华夏财富网

网站首页 精选知识 > 正文

JAVA进度条取消实现方法(java进度条)

2022-08-28 05:06:12 精选知识 来源:
导读 大家好,小福来为大家解答以上的问题。JAVA进度条取消实现方法,java进度条这个很多人还不知道,现在让我们一起来看看吧!1、import java.aw...

大家好,小福来为大家解答以上的问题。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();}@Overridepublic void run() {for (int i = 1; i <= 20; i++) {int x = i * 5;bar.setCurrentValue(x);if (x > 0 && x < 100) {btnStart.setEnabled(false);}if (x == 100) {btnStart.setEnabled(true);}try {Thread.sleep(200);add(bar);} catch (InterruptedException e) {e.printStackTrace();}}}@Overridepublic void actionPerformed(ActionEvent e) {if (e.getActionCommand().equals("开始")) {Thread t = new Thread(tmpb);t.start();}}}用servlet吧。

2、网上有很多!。

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


版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。


标签:




热点推荐
热评文章
随机文章