精华内容
下载资源
问答
  • java进度条代码

    热门讨论 2011-10-25 21:05:16
    java开发进度条代码示例有说明,开发进度条代码,用于小小的开发,基本的代码
  • [java]代码库package wang1;import java.awt.EventQueue;import java.awt.Toolkit;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JScrollBar;import javax.swing.JTextField;import ...

    [java]代码库package wang1;

    import java.awt.EventQueue;

    import java.awt.Toolkit;

    import javax.swing.JButton;

    import javax.swing.JFrame;

    import javax.swing.JScrollBar;

    import javax.swing.JTextField;

    import javax.swing.SwingUtilities;

    import javax.swing.JProgressBar;

    import javax.swing.JLabel;

    import java.awt.Color;

    public class JProcessBar extends JFrame {

    // 得到显示器屏幕的宽高

    public static int width = Toolkit.getDefaultToolkit().getScreenSize().width;

    public static int height = Toolkit.getDefaultToolkit().getScreenSize().height;

    // 定义窗体的宽高

    public static int windowsWedth = 600;

    public static int windowsHeight = 600;

    private static final long serialVersionUID = 1L;

    private JProgressBar progressBar = new JProgressBar();

    private boolean state = false;

    private int count = 0;

    // 工作线程workThead

    private Thread workThead = null;

    private Runnable run = null;

    public static void main(String[] args) {

    JProcessBar jp = new JProcessBar();

    jp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    jp.setVisible(true);

    }

    /**

    * Create the application.

    */

    public JProcessBar() {

    initialize();

    }

    JLabel lblNewLabel_1 = new JLabel("");

    /**

    * Initialize the contents of the frame.

    */

    private void initialize() {

    this.setTitle("\u52A0\u8F7D\u4E2D");

    this.setBounds((width - windowsWedth) / 2, (height - windowsHeight) / 2, 545, 186);

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    this.getContentPane().setLayout(null);

    progressBar.setForeground(Color.BLACK);

    progressBar.setStringPainted(true);

    progressBar.setOpaque(false);

    progressBar.setBounds(73, 103, 434, 24);

    this.getContentPane().add(progressBar);

    JLabel lblNewLabel = new JLabel("\u8FDB\u5EA6\u52A0\u8F7D\uFF1A");

    lblNewLabel.setBounds(10, 106, 68, 15);

    this.getContentPane().add(lblNewLabel);

    lblNewLabel_1.setOpaque(true);

    lblNewLabel_1.setBounds(73, 80, 235, 24);

    getContentPane().add(lblNewLabel_1);

    if (workThead == null) {

    state = true;

    workThead = new WorkThead();

    workThead.start();

    }

    }

    class WorkThead extends Thread {

    public void run() {

    while (count < 100) {

    try {

    Thread.sleep(100);

    } catch (InterruptedException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    if (state) {

    count++;

    SwingUtilities.invokeLater(new Runnable() {

    @Override

    public void run() {

    // TODO Auto-generated method stub

    // 更新操作通过事件派发线程完成(一般实现Runnable()接口)

    progressBar.setValue(count);

    if(count==5){

    lblNewLabel_1.setText("loading api-ms-win-core-xstate-l1-1-0.dll");

    }else if(count==10){

    lblNewLabel_1.setText("loading MaxxAudioAPO5064.dll");

    }else if(count==20){

    lblNewLabel_1.setText("loading MetroIntelGenericUIFramework.dll");

    }else if(count==30){

    lblNewLabel_1.setText("loading microsoft-windows-kernel-power-events.dll");

    }else if(count==40){

    lblNewLabel_1.setText("miguiresource.dll");

    }else if(count==80){

    lblNewLabel_1.setText("loading mfvdsp.dll");

    }else if(count==90){

    lblNewLabel_1.setText("loading miguiresource.dll");

    }else if(count==100){

    lblNewLabel_1.setText("loading end");

    Thread.currentThread();

    try {

    Thread.sleep(500);

    } catch (InterruptedException e) {

    // TODO 自动生成的 catch 块

    e.printStackTrace();

    }

    }

    }

    });

    }

    }

    }

    }

    }

    694748ed64b9390909c0d88230893790.png

    展开全文
  • 本文实例讲述了Java上传文件进度条的实现方法。分享给大家供大家参考,具体如下:东西很简单,主要用到commons-fileupload,其中有一个progressListener的接口,该接口可以实现实时更新已上传文件的大小,有了这个还...

    本文实例讲述了Java上传文件进度条的实现方法。分享给大家供大家参考,具体如下:

    东西很简单,主要用到commons-fileupload,其中有一个progressListener的接口,该接口可以实现实时更新已上传文件的大小,有了这个还说什么呢?

    这里给出代码:

    package lc.progress;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpSession;

    import lc.progress.vo.fileUploadStatus;

    import org.apache.commons.fileupload.ProgressListener;

    public class myProgressListener implements ProgressListener {

    private HttpSession session;

    public myProgressListener(HttpServletRequest req) {

    session=req.getSession();

    fileUploadStatus status = new fileUploadStatus();

    session.setAttribute("status",status);

    }

    /* pBytesRead 到目前为止读取文件的比特数

    * pContentLength 文件总大小

    * pItems 目前正在读取第几个文件

    * 只要在session中实时保存文件上传的状态(这里我用fileUploadStatus类来封装)

    */

    public void update(long pBytesRead,long pContentLength,int pItems) {

    // TODO Auto-generated method stub

    fileUploadStatus status = (fileUploadStatus) session.getAttribute("status");

    status.setPBytesRead(pBytesRead);

    status.setPContentLength(pContentLength);

    status.setPItems(pItems);

    }

    }

    然后在上传得servlet或action中加入这样一段代码,就可以把自定义的progressListener添加进去

    myProgressListener getBarListener = new myProgressListener(req);

    ServletFileUpload upload = new ServletFileUpload(factory);

    upload.setProgressListener(getBarListener);

    最后就是通过js来不断的访问另一个servlet来实时返回上传状态就可以了,限于篇幅我就不再贴代码了,有兴趣的读者可以自己下载来看。

    完整实例代码点击此处本站下载。

    希望本文所述对大家Java程序设计有所帮助。

    总结

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    展开全文
  • java进度条

    2013-08-13 10:55:02
    非常实用的java进度条代码,可以很好的实现两种方法显示进度
  • java进度条设计源代码

    2011-01-14 09:18:21
    java进度条设计源代码 有多个进度条代码
  • JAVA进度条代码

    2008-12-25 22:23:30
    请用NETBEANS运行脚本,读取的文件最好大于30M,请在代码中更换名称,并且把这个文件放入解压的文件夹中。
  • 代码如下:package luojing;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.Timer;import java.util.TimerTask;public class NewClass{static JProgressBar ...

    练习JProgressBar结合Timer使用。

    代码如下:

    package luojing;

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    import java.util.Timer;

    import java.util.TimerTask;

    public class NewClass

    {

    static JProgressBar jpb = null;

    static JButton jb = null;

    public static void main(String args[])

    {

    JFrame frm = new JFrame();

    Container contentPane = frm.getContentPane();

    jpb = new JProgressBar();

    jpb.setOrientation(JProgressBar.HORIZONTAL);

    jpb.setMaximum(100);

    jpb.setMinimum(0);

    jpb.setValue(0);

    jpb.setStringPainted(true);

    jpb.setPreferredSize(new Dimension(400, 50));

    contentPane.add(jpb, BorderLayout.CENTER);

    jb = new JButton("开始");

    jb.addActionListener(new Change());

    contentPane.add(jb, BorderLayout.SOUTH);

    frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frm.pack();

    frm.setTitle("进度条");

    // 窗口居中

    frm.setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - frm.getSize()

    .width) / 2,(Toolkit.getDefaultToolkit().getScreenSize().height - frm.getSize().height) / 2);

    frm.setVisible(true);

    }

    static class Change implements ActionListener

    {

    public void actionPerformed(ActionEvent e)

    {

    Timer timer = new Timer();

    timer.schedule(new mytask(jpb), 100, 100);

    jb.setEnabled(false);

    // 下面这种方法达不到预定效果,因为线程sleep()时用户界面也不会响应,只会在actionPerformde()执行结束后才会响应

    /*

    * for (int i = 0; i <= 100; i++) { try { Thread.sleep(100);

    *

    * jpb.setValue(i);

    *

    * } catch (InterruptedException e1) { e1.printStackTrace(); }

    *

    * }

    */

    // 采用新建一个一个线程来执行累加可以达到预定的效果

    /*

    * new Thread(new Runnable() { public void run() { for (int i = 1; i

    * <=100; i++) { try { Thread.sleep(100); jpb.setValue(i); } catch

    * (InterruptedException ie) { } } } }).start();

    */

    }

    }

    }

    class mytask extends TimerTask

    {

    JProgressBar jpb = null;

    int i = 1;

    public mytask(JProgressBar jp)

    {

    this.jpb = jp;

    }

    public void run()

    {

    this.jpb.setValue(i++);

    }

    }

    另附(转):

    为什么进度条在事件处理过程中不更新,而是在完成后,从0%调到100%?

    分两种情况:

    1)在AWT事件线程中执行的操作

    当 应用程序在事件线程中执行长时间的操作时,会阻塞正常的AWT事件处理,因此阻止了重绘操作的发生。这同常会在下列情况下发生:应用程序响应一个来自用户 界面的请求时,在连接到一个按钮或其他GUI组件的事件处理程序中执行任务,任务的内容可能会需要较长时间,使事件线程挂起,直至远程系统发出答复为止。 当应用程序调用JProgressBar的setValue方法时,进度条可能更新期内部状态并调用repaint,这样做会把一个事件放置到AWT事件 队列中。不幸的是,直至应用程序的事件处理程序完成其处理并把控制权返回到线程的事件处理循环,才能处理该事件。

    可以通过调用JComponent的paintImmediately方法来这样做,该方法有两种形式:

    public void paintImmediately(int x, int y, int width, int height);

    public void paintImmediately(Rectangel rect);

    例如:

    Dimension d = bar.getSize();

    Rectangel rect = new Rectangle(0,0, d.width, d.height);

    ...

    bar.setValue(progressValue);

    bar.paintImmediately(rect);

    ...

    2)在另一个线程中执行的操作

    如 果在一个单独的线程中执行该操作,当调用进度条的setValue方法,它的更新不会出现任何问题,问题在于,后台线程必须调用JProgressBar 的setValue。而Swing组件只有在事件线程中才能安全的访问。因此,从执行实际工作的线程调用setValue方法是不安全的!解决的方法是使 用SwingUtilites的invokeLater方法,让AWT事件线程稍后进行setValue调用。

    例如:

    ...

    SwingUtilities.invokeLater(new Runnable() {

    public void run() {

    bar.setValue(value);

    }

    });

    ...

    还有一种可能,不能再线程中改变swing组件,例如,不能从线程调用label.setText,但是可以使用EventQueue类的invokeLater和invokeAndWait方法,以便在事件调度线程中执行该调用程序。

    展开全文
  • Java进度条程序

    2015-06-08 22:05:53
    Java 进度条程序代码,包含简单程序实践
  • 代码如下:package luojing;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.Timer;import java.util.TimerTask;public class NewClass{static JProgressBar ...

    练习JProgressBar结合Timer使用。

    代码如下:

    package luojing;

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    import java.util.Timer;

    import java.util.TimerTask;

    public class NewClass

    {

    static JProgressBar jpb = null;

    static JButton jb = null;

    public static void main(String args[])

    {

    JFrame frm = new JFrame();

    Container contentPane = frm.getContentPane();

    jpb = new JProgressBar();

    jpb.setOrientation(JProgressBar.HORIZONTAL);

    jpb.setMaximum(100);

    jpb.setMinimum(0);

    jpb.setValue(0);

    jpb.setStringPainted(true);

    jpb.setPreferredSize(new Dimension(400, 50));

    contentPane.add(jpb, BorderLayout.CENTER);

    jb = new JButton("开始");

    jb.addActionListener(new Change());

    contentPane.add(jb, BorderLayout.SOUTH);

    frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frm.pack();

    frm.setTitle("进度条");

    // 窗口居中

    frm.setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - frm.getSize()

    .width) / 2,(Toolkit.getDefaultToolkit().getScreenSize().height - frm.getSize().height) / 2);

    frm.setVisible(true);

    }

    static class Change implements ActionListener

    {

    public void actionPerformed(ActionEvent e)

    {

    Timer timer = new Timer();

    timer.schedule(new mytask(jpb), 100, 100);

    jb.setEnabled(false);

    // 下面这种方法达不到预定效果,因为线程sleep()时用户界面也不会响应,只会在actionPerformde()执行结束后才会响应

    /*

    * for (int i = 0; i <= 100; i++) { try { Thread.sleep(100);

    *

    * jpb.setValue(i);

    *

    * } catch (InterruptedException e1) { e1.printStackTrace(); }

    *

    * }

    */

    // 采用新建一个一个线程来执行累加可以达到预定的效果

    /*

    * new Thread(new Runnable() { public void run() { for (int i = 1; i

    * <=100; i++) { try { Thread.sleep(100); jpb.setValue(i); } catch

    * (InterruptedException ie) { } } } }).start();

    */

    }

    }

    }

    class mytask extends TimerTask

    {

    JProgressBar jpb = null;

    int i = 1;

    public mytask(JProgressBar jp)

    {

    this.jpb = jp;

    }

    public void run()

    {

    this.jpb.setValue(i++);

    }

    }

    另附(转):

    为什么进度条在事件处理过程中不更新,而是在完成后,从0%调到100%?

    分两种情况:

    1)在AWT事件线程中执行的操作

    当 应用程序在事件线程中执行长时间的操作时,会阻塞正常的AWT事件处理,因此阻止了重绘操作的发生。这同常会在下列情况下发生:应用程序响应一个来自用户 界面的请求时,在连接到一个按钮或其他GUI组件的事件处理程序中执行任务,任务的内容可能会需要较长时间,使事件线程挂起,直至远程系统发出答复为止。 当应用程序调用JProgressBar的setValue方法时,进度条可能更新期内部状态并调用repaint,这样做会把一个事件放置到AWT事件 队列中。不幸的是,直至应用程序的事件处理程序完成其处理并把控制权返回到线程的事件处理循环,才能处理该事件。

    可以通过调用JComponent的paintImmediately方法来这样做,该方法有两种形式:

    public void paintImmediately(int x, int y, int width, int height);

    public void paintImmediately(Rectangel rect);

    例如:

    Dimension d = bar.getSize();

    Rectangel rect = new Rectangle(0,0, d.width, d.height);

    ...

    bar.setValue(progressValue);

    bar.paintImmediately(rect);

    ...

    2)在另一个线程中执行的操作

    如 果在一个单独的线程中执行该操作,当调用进度条的setValue方法,它的更新不会出现任何问题,问题在于,后台线程必须调用JProgressBar 的setValue。而Swing组件只有在事件线程中才能安全的访问。因此,从执行实际工作的线程调用setValue方法是不安全的!解决的方法是使 用SwingUtilites的invokeLater方法,让AWT事件线程稍后进行setValue调用。

    例如:

    ...

    SwingUtilities.invokeLater(new Runnable() {

    public void run() {

    bar.setValue(value);

    }

    });

    ...

    还有一种可能,不能再线程中改变swing组件,例如,不能从线程调用label.setText,但是可以使用EventQueue类的invokeLater和invokeAndWait方法,以便在事件调度线程中执行该调用程序。

    展开全文
  • 网页进度条能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程。但是目前的浏览器并没有提供页面加载进度方面的接口,也就是说页面还无法准确返回页面实际加载...
  • 使用SWT要先导入一个SWT的dll文件,本例导入的dll文件名为:swt-win32-3139.dllQQ.java源文件内容如下:package com.awt.sample;import org.eclipse.jface.dialogs.MessageDialog;import org.eclipse.swt.SWT...
  • 今天主要为大家介绍一下,java进度条功能的实现原理是什么,以及通过一个实例代码来向大家展示究竟该怎么操作。首先,我们需要知道的是,进度条功能执行命令的原理是什么?它的关键是用到了这个函数:System.out....
  • 首先说流程:1.访问启动任务servlet2.启动任务servlet开启任务,并跳转掉进度条展示页面3.页面就绪就调用(进度参数获取servlet),此后进度条...一下是各个文件代码,工程为web工程。1.进度条schedule.css文件:body{m...
  • 为了下周一能有更充裕的时间在实验课写代码,我搜了一下我们学校的实验报告。嘿,宁猜怎么着!还真有16年的实验报告。虽然有点不太一样,但题目大多是相同的,于是我就开始写。这是有关赛马的一个程序,题目如下:...
  • importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjavax.swing.*;publicclassPracticeFromNettextendsJFrame{privatestaticfinallongserialVersionUID=1L;JTextAreaja...import java.awt.*;import ja...
  • Java进度条

    千次阅读 2013-04-12 22:49:39
    进度条用在很多的地方,比如登录验证等待过程、程序...在代码中未连接数据库,只是模拟这个效果,实际操作中大家可以调用这个进度条,并控制进度条显示与提示消息。 import java.awt.Dialog; import java.aw
  • 进度条出来了,但是不显示进度,以下是完整代码Java code:package ui;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.event....
  • 一般进度条使用是给用户一种友好提示,让用户感觉这个事情正在做,而不是系统没有反应了;JProgressBar的代码文档大家可以参考JDK1.6,比如构造函数有哪些,常用的方法有哪些在此就不多叙述;一般使用情况是,点击...
  • 【实例简介】【实例截图】【核心代码】package com.mingrisoft;import java.awt.EventQueue;import java.awt.FileDialog;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax....
  • 如果你想回删多个字符就打印多个 "\b"这个代码也可以参考一下:public static void main(String[] args) throws Except2021-01-27 20:52:16思路分析:因为既要有操作面板又要有进度条,所以肯定要出现两个继承JFrame...
  • 很久不在这里发帖子了,最近在家闲来无事,想到转视频的那东西又要做了,遂翻出以前的帖子,看到一年前丰哥让我做一下文件上传的进度条....额~~那就做一下吧。东西很简单,主要用到commons-fileupload,其中有一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,136
精华内容 454
关键字:

java进度条代码

java 订阅