`
czwangelo
  • 浏览: 72067 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

进度条的使用

阅读更多
每隔一秒钟,进度条的使用
java 代码
  1. package example;  
  2.   
  3. import java.awt.BorderLayout;  
  4. import java.awt.Color;  
  5. import java.awt.Container;  
  6. import java.awt.GridLayout;  
  7. import java.awt.event.ActionEvent;  
  8. import java.awt.event.ActionListener;  
  9. import java.awt.event.MouseAdapter;  
  10. import java.awt.event.MouseMotionAdapter;  
  11.   
  12. import javax.swing.ImageIcon;  
  13. import javax.swing.JButton;  
  14. import javax.swing.JFrame;  
  15. import javax.swing.JLabel;  
  16. import javax.swing.JOptionPane;  
  17. import javax.swing.JPanel;  
  18. import javax.swing.JProgressBar;  
  19. import javax.swing.Timer;  
  20.   
  21. public class GlassExample extends JFrame {  
  22.   JPanel glass = new JPanel(new GridLayout(01));  
  23.   JProgressBar waiter = new JProgressBar(0100);  
  24.   Timer timer;  
  25.   
  26.   public GlassExample( ) {  
  27.     super("GlassPane Demo");  
  28.     setSize(500300);  
  29.     setDefaultCloseOperation(EXIT_ON_CLOSE);  
  30.   
  31.     // Set up the glass pane with a little message and a progress bar.  
  32.     JPanel controlPane = new JPanel(new GridLayout(2,1));  
  33.     controlPane.setOpaque(false);  
  34.     controlPane.add(new JLabel("Please wait..."));  
  35.     controlPane.add(waiter);  
  36.     glass.setOpaque(false);  
  37.     glass.add(new JLabel( )); // Padding...  
  38.     glass.add(new JLabel( ));  
  39.     glass.add(controlPane);  
  40.     glass.add(new JLabel( ));  
  41.     glass.add(new JLabel( ));  
  42.     glass.addMouseListener(new MouseAdapter( ) {});  
  43.     glass.addMouseMotionListener(new MouseMotionAdapter( ) {});  
  44.     setGlassPane(glass);  
  45.   
  46.     // Now set up a few buttons and images for the main application.  
  47.     JPanel mainPane = new JPanel( );  
  48.     mainPane.setBackground(Color.white);  
  49.     JButton redB = new JButton("Red");  
  50.     JButton blueB = new JButton("Blue");  
  51.     JButton greenB = new JButton("Green");  
  52.     mainPane.add(redB);  
  53.     mainPane.add(greenB);  
  54.     mainPane.add(blueB);  
  55.     mainPane.add(new JLabel(new ImageIcon("oreilly.gif")));  
  56.   
  57.     // Attach the pop-up debugger to the main app buttons so you  
  58.     // see the effect of making a glass pane visible.  
  59.     PopupDebugger pd = new PopupDebugger(this);  
  60.     redB.addActionListener(pd);  
  61.     greenB.addActionListener(pd);  
  62.     blueB.addActionListener(pd);  
  63.   
  64.     // And last but not least, our button to launch the glass pane  
  65.     JButton startB = new JButton("Start the big operation!");  
  66.     startB.addActionListener(new ActionListener( ) {  
  67.         public void actionPerformed(java.awt.event.ActionEvent A) {  
  68.           glass.setVisible(true);  
  69.           startTimer( );  
  70.         }  
  71.       });  
  72.   
  73.     Container contentPane = getContentPane( );  
  74.     contentPane.add(mainPane, BorderLayout.CENTER);  
  75.     contentPane.add(startB, BorderLayout.SOUTH);  
  76.   }  
  77.   
  78.   // A quick method to start up a 10-second timer and update the progress bar  
  79.   public void startTimer( ) {  
  80.     if (timer == null) {  
  81.       timer = new Timer(1000new ActionListener( ) {  
  82.           int progress = 0;  
  83.           public void actionPerformed(ActionEvent A) {  
  84.             progress += 1;  
  85.             waiter.setValue(progress);  
  86.   
  87.             // Once we hit 100%, remove the glass pane and reset the progress bar  
  88.             // stuff.  
  89.             if (progress >= 100) {  
  90.               progress = 0;  
  91.               timer.stop( );  
  92.               glass.setVisible(false);  
  93.               waiter.setValue(0);  
  94.             }  
  95.           }  
  96.         });  
  97.     }  
  98.     if (timer.isRunning( )) {  
  99.       timer.stop( );  
  100.     }  
  101.     timer.start( );  
  102.   }  
  103.   
  104.   // A graphical debugger that pops up whenever a button is pressed  
  105.   public class PopupDebugger implements ActionListener {  
  106.     private JFrame parent;  
  107.     public PopupDebugger(JFrame f) {  
  108.       parent = f;  
  109.     }  
  110.     public void actionPerformed(ActionEvent ae) {  
  111.       JOptionPane.showMessageDialog(parent, ae.getActionCommand( ));  
  112.     }  
  113.   }  
  114.   
  115.   public static void main(String[] args) {  
  116.     GlassExample ge = new GlassExample( );  
  117.     ge.setVisible(true);  
  118.   }  
  119. }  
分享到:
评论

相关推荐

    VC下进度条使用实例

    这个“VC下进度条使用实例”着重讲解如何在VC++应用程序中集成和使用进度条控件,通常称为CProgressCtrl。下面将详细介绍进度条控件的基本概念、使用方法以及一些关键的编程技巧。 首先,进度条控件(CProgressCtrl...

    MATLAB的GUI设计进度条使用技巧

    总结,MATLAB GUI的进度条使用技巧在于理解其属性、利用`waitbar`函数或自定义控件实现动态更新,以及结合多线程和错误处理提升用户体验。熟练掌握这些技巧,能够帮助开发者创建出更加专业和用户友好的MATLAB应用...

    [opencv] 006 简单进度条使用

    这个【标题】"【opencv] 006 简单进度条使用"所涉及的知识点主要集中在如何在控制台程序中创建并更新进度条,这对于处理耗时较长的图像处理任务来说,可以提供良好的用户交互体验。 首先,我们需要了解的是C++的...

    JSP进度条使用线程制作

    本项目"JSP进度条使用线程制作"正是为了解决这个问题,它展示了如何通过多线程技术在JSP中实现一个动态更新的进度条。 首先,我们需要理解线程的概念。在Java中,线程是程序执行的最小单元,每个线程都有自己的程序...

    易语言源码进度条使用.rar

    在“易语言源码进度条使用.rar”这个压缩包中,我们可以找到关于如何在易语言中应用进度条的相关源码示例。进度条通常用在需要长时间运行的任务中,如文件复制、数据处理或网络下载等场景。下面将详细解释易语言中...

    安卓进度条loadingprogress相关-自定义view之仿微信小视频加载过程的进度条使用方便.rar

    本案例中的“安卓进度条loadingprogress相关-自定义view之仿微信小视频加载过程的进度条使用方便.rar”就是一个关于自定义进度条的实例,目标是模仿微信小视频加载过程中的进度显示。 进度条(Progress Bar)在...

    易语言源码进度条使用.7z

    本压缩包“易语言源码进度条使用.7z”包含了关于如何在易语言中使用进度条控件的相关源代码,对于学习易语言的初学者或者希望提升进度条应用技巧的开发者来说,这是一个非常实用的学习资源。 进度条(ProgressBar)...

    [世恒帮您学易]-进度条使用

    在“[世恒帮您学易]-进度条使用”这个资源中,我们可以预期学习到如何在易语言中有效地使用进度条组件。该教程可能涵盖了以下几个方面的知识: 1. **组件添加**:首先,你需要了解如何在易语言的工程中添加进度条...

    MFC进度条使用

    MFC进度条使用主要涉及以下几个关键知识点: 1. **进度条控件类**: MFC提供了`CProgressCtrl`类来处理进度条控件。这个类是基于Windows API中的`CreateWindow`函数创建的`PBSTANDARD`样式进度条控件。你可以通过...

    Android loading进度条使用简单总结

    总结一下loading进度条的使用简单总结一下。 一、说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验。 二、圆形进度条,...

    进度条使用方式

    ### 进度条使用方式:深入理解JAVA JProgressBar 在Java Swing图形用户界面库中,`JProgressBar`组件被广泛用于表示操作的进度,如文件下载、数据处理或任务执行等场景。它能够直观地展示任务完成的程度,提高用户...

    android进度条使用实例

    本教程将深入探讨如何在Android应用中有效地使用进度条,以提供良好的用户体验。我们将从基本概念开始,逐步讲解如何在布局文件中声明进度条、设置样式、控制进度以及在代码中动态更新进度。 首先,进度条在Android...

    进度条使用的学习

    本篇文章将详细探讨如何在MFC环境下使用进度条,通过`MfcDlg_Study`这个学习项目进行实践。 首先,我们需要了解CProgressCtrl类。它是MFC库中专门用于处理进度条控件的类,提供了设置、更新和获取进度条状态的方法...

    进度条使用示例(含源代码)

    在本示例中,我们可能会使用不确定长度的进度条,因为任务的完成时间取决于打开新窗口所需的时间,这可能因系统资源、网络状况等因素而异。为了实现这样的进度条,我们需要使用多线程技术。多线程允许我们的程序同时...

    易语言进度条使用源码

    易语言做进度条的源码

    易语言进度条使用

    下面将详细讲解易语言中进度条的使用方法。 ### 一、进度条控件介绍 进度条在易语言中称为“进度条窗口部件”(Progress Bar),它提供了一种图形化的方式来表示任务的完成程度。通常,进度条有两种模式:定长模式...

    C# 使用进度条 教你怎么用进度条

    本教程将详细介绍如何在C#中使用进度条。 首先,我们需要引入`System.Windows.Forms`命名空间,因为进度条控件(ProgressBar)是该命名空间的一部分。在你的C#代码文件顶部添加以下行: ```csharp using System....

    C#2008 进度条使用举例

    下面我们将详细探讨如何在C# 2008中使用进度条控件。 1. **添加进度条控件** 在设计阶段,打开Windows Forms设计器,从工具箱中找到"ProgressBar"控件并将其拖放到表单上。你可以通过调整控件的大小和位置来满足...

    java进度条使用实例

    通过读取文件来演示JProgressBar的功能!

Global site tag (gtag.js) - Google Analytics