进度条Java代码怎么写 进度条代码怎么做

Java中如何实现进度条效果

代码如下: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; @SuppressWarnings("serial") public class Demo 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 Demo() { // 创建标签,并在标签上放置一张图片 label = new JLabel(new ImageIcon("images/background.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) { Demo t = new Demo(); 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(); } } 效果图:

成都创新互联-专业网站定制、快速模板网站建设、高性价比大通网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式大通网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖大通地区。费用合理售后完善,十多年实体公司更值得信赖。

java编程:怎么写进度条?高手进哈

进度条有三种思路:

1.人为的划分某些标识,达到某个标识就是完成了百分之多少。

2.如果是上传和下载附件,可以将文件大小作为100%,上传或下载百分之多少,就是百分之多少。

3.对进度的类型所需时间进行分类。划出几种时间。属于某类,大概或平均完成时间是多少,那么就以这个时间作为100%。然后产生进度。

但,完美的进度是不可能实现的,因为你总不能先跑一遍确定时间。而且就算完全相同的条件,跑两遍的时间也不能一定相等的。所以我们只能通过各种技巧来使进度条更加自然真实。

最后,现在很多地方都不用进度条了,全部都是一个转动的圆圈等等。因为当你进度卡在10%半个小时,然后瞬间涨到99%,进度条已经就没什么意义了。

怎么做java语言进度条?

在js中做一个遮罩层,当你点击的时候显示进度条,进度条读完之后再隐藏,以下有两种方式,试试,望采纳

方法一:

//开启遮罩

$.messager.progress({});

$.messager.progress({

title: 'Please waiting',

msg: 'Loading data...',

text: 'PROCESSING.......'

});

//关闭遮罩

$.messager.progress('close');

方法二:

//显示遮罩

$("#标签ID").标签("loading", "数据加载中……")

$("#dg").datagrid("loading", "数据加载中……");

//隐藏遮罩

$("#dg").datagrid("loaded");

用 java 怎么做进度条?

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();

}

@Override

public 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();

}

}

}

@Override

public void actionPerformed(ActionEvent e) {

if (e.getActionCommand().equals("开始")) {

Thread t = new Thread(tmpb);

t.start();

}

}

}


网站标题:进度条Java代码怎么写 进度条代码怎么做
文章出自:http://myzitong.com/article/doihgji.html