精华内容
下载资源
问答
  • Java语言是一种很万能的语言,基本上什么都能实现,今天我们就用java语言来实现以下进度条的编写,快跟小编一起看看吧。示例:packagelc.progress;importjavax.servlet.http.HttpServletRequest;importjavax.servlet...

    Java语言是一种很万能的语言,基本上什么都能实现,今天我们就用java语言来实现以下进度条的编写,快跟小编一起看看吧。

    示例: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);

    以上就是本篇文章的所有内容,更多相关java常见问题及解决方法敬请关注奇Q工具网了解详情。

    推荐阅读:

    展开全文
  • java进度条代码

    热门讨论 2011-10-25 21:05:16
    java开发进度条代码示例有说明,开发进度条代码,用于小小的开发,基本的代码
  • java实现进度条

    2016-08-30 18:27:13
    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 circleprogressbar,即基于Java语言的环形进度条,可以根据自己的需求改变颜色,用途广泛。
  • java进度条

    2021-02-26 20:11:27
    代码如下: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 编写进度条的例子源代码,作为程序运行状态的进度指示,大部分程序启动或中间处理时都会有一个Loading进度条,通过本源码您可了解下制作进度条时可显示的字符串、学习如何设置进度条边框、显示位置、将进度条...
  • java进度条设计源代码

    2011-01-14 09:18:21
    java进度条设计源代码 有多个进度条代码
  • 今天主要为大家介绍一下,java进度条功能的实现原理是什么,以及通过一个实例代码来向大家展示究竟该怎么操作。首先,我们需要知道的是,进度条功能执行命令的原理是什么?它的关键是用到了这个函数:System.out....

    在科学技术与经济水平高速发展的21世纪,掌握一门扎实的技术对每一个人来说都是极其重要的。今天主要为大家介绍一下,java中进度条功能的实现原理是什么,以及通过一个实例代码来向大家展示究竟该怎么操作。

    首先,我们需要知道的是,进度条功能执行命令的原理是什么?

    它的关键是用到了这个函数:System.out.print("\b");

    其中转义符\b的作用就是删除游标前面的一个字符。

    这里为大家举例说明一下:System.out.print("hello,world!");

    System.out.print("\b\b");

    执行完第一行后是输出:hello, world!

    注意这里用的都是print函数,而不是println函数。当我们执行到第二行后,输出就变为:hello, worl

    因为有两个\b,所以删除两个字符,因此删掉了d和!,还剩下hello,worl。这就是它的原理,原理了解了之后,它的效果实现就比较简单了。接下来通过一个实例代码来为大家展示。

    实例如下所示:public class ProgressBar

    {

    private int index = 0;

    private String finish;

    private String unFinish;

    // 进度条粒度

    private final int PROGRESS_SIZE = 50;

    private int BITE = 2;

    private String getNChar(int num, char ch)

    {

    StringBuilder builder = new StringBuilder();

    for (int i = 0; i 

    {

    builder.append(ch);

    }

    return builder.toString();

    }

    public void printProgress() throws InterruptedException

    {

    System.out.print("Progress:");

    finish = getNChar(index / BITE, '█');

    unFinish = getNChar(PROGRESS_SIZE - index / BITE, '─');

    String target = String.format("%3d%%[%s%s]", index, finish, unFinish);

    System.out.print(target);

    while (index <= 100)

    {

    finish = getNChar(index / BITE, '█');

    unFinish = getNChar(PROGRESS_SIZE - index / BITE, '─');

    target = String.format("%3d%%├%s%s┤", index, finish, unFinish);

    System.out.print(getNChar(PROGRESS_SIZE + 6, '\b'));

    System.out.print(target);

    Thread.sleep(50);

    index++;

    }

    }

    }

    以上就是关于java进度条功能的实现原理,以及相关的代码实例展示。想要了解更多有关java程序代码例子,敬请关注奇Q工具网。

    推荐阅读:

    展开全文
  • java实现大文件上传并有进度条及其代码解析
  • 首先说流程:1.访问启动任务servlet2.启动任务servlet开启任务,并跳转掉进度条展示页面3.页面就绪就调用(进度参数获取servlet),此后进度条...一下是各个文件代码,工程为web工程。1.进度条schedule.css文件:body{m...
  • 网页进度条能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程。但是目前的浏览器并没有提供页面加载进度方面的接口,也就是说页面还无法准确返回页面实际加载...
  • 如果你想回删多个字符就打印多个 "\b"这个代码也可以参考一下:public static void main(String[] args) throws Except2021-01-27 20:52:16思路分析:因为既要有操作面板又要有进度条,所以肯定要出现两个继承JFrame...
  • java多线程进度条实例

    2014-06-12 15:09:34
    java平台利用java的多线程特点,编写进度条的现实以及当前时间的实时更新。
  • 主要介绍了Java Swing JProgressBar进度条的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 采用Java语言编写,适合用在Java Swing程序里面。简单示例代码:CircleProgressBar progressBar = new CircleProgressBar(); //实例化progressBar.setMinimumProgress(0); //设置最小进度值progressBar....
  • 如何用Java实现进度条

    2021-06-29 14:08:24
    Java的SWT中是有自带的进度条的,但是那个进度条实在是不怎么好看,因此,小编请教了别人,并查阅了有关的资料,从而实现了进度条。下面就是实现进度的代码: public void paintControl(PaintEvent e) { if(!...
  • 当读取一个大文件时,一时半会儿无法看到读取结果,就需要显示一个进度条,是程序员明白已经读了多少文件,可以估算读取还需要多少时间,下面的代码可以实现这个功能
  • java进度条的使用

    2021-02-27 17:07:48
    一般进度条使用是给用户一种友好提示,让用户感觉这个事情正在做,而不是系统没有反应了;JProgressBar的代码文档大家可以参考JDK1.6,比如构造函数有哪些,常用的方法有哪些在此就不多叙述;一般使用情况是,点击...
  • Java制作进度条

    2020-05-30 22:32:29
    进度条宽度保持和窗口宽度一致,进度最小值为0,最大值为100,每100毫秒进度值+1,进度条中间显示进度百分比 【代码】 package test; import java.awt.*; import java.awt.event.*; import javax.swing.*; ...
  • java期末考试都考完了,实验课却还没完,课程设计也还没开始做,本来打算把最后两次实验尽快做完,然后好好做课设,(我早就想写的坦克大战,过几天写好了,也肯定要整理发布出来)。可却被多线程一题给坑了,题目如下...
  • JAVA进度条代码

    2008-12-25 22:23:30
    请用NETBEANS运行脚本,读取的文件最好大于30M,请在代码中更换名称,并且把这个文件放入解压的文件夹中。
  • java 进度条应用

    2021-03-01 10:50:14
    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.Change...
  • 基于有人问到怎样做进度条,下面给个简单的做法:主要是使用JProgressBar(Swing内置javax.swing.JProgressBar)和SwingWorker(Swing内置javax.swing.SwingWorker)有人肯定会说,不是用线程做的吗?使用线程共享一个...
  • 本文实例讲述了Java上传文件进度条的实现方法。分享给大家供大家参考,具体如下:东西很简单,主要用到commons-fileupload,其中有一个progressListener的接口,该接口可以实现实时更新已上传文件的大小,有了这个还...
  • java使用ajax多文件上传,并显示上传进度条和上传速度
  • Java进度条程序

    2015-06-08 22:05:53
    Java 进度条程序代码,包含简单程序实践

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,438
精华内容 15,775
关键字:

java进度条代码

java 订阅