- 浏览: 733077 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
lingsuch:
Android网络连接判断与处理 -
月光照着我:
写的不错,作为笔记了
Android中LayoutInflater的使用 -
智博王锋:
好文章是要顶的!
Android中LayoutInflater的使用 -
云南白药:
...
Android中LayoutInflater的使用 -
万新one:
理解了许多。解释的不错。3Q.
Android中LayoutInflater的使用
package Assis; import java.awt.BorderLayout; import java.awt.Insets; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Random; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.SwingWorker; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; @SuppressWarnings("serial") public class ProgressBarDemo2 extends JPanel implements ActionListener, PropertyChangeListener { private JProgressBar progressBar; private JButton startButton; private JTextArea taskOutput; private Task task; class Task extends SwingWorker<Void, Void> { /* * Main task. Executed in background thread. */ @Override public Void doInBackground() { Random random = new Random(); int progress = 0; // Initialize progress property. setProgress(0); // Sleep for at least one second to simulate "startup". try { Thread.sleep(1000 + random.nextInt(2000)); } catch (InterruptedException ignore) { } while (progress < 100) { // Sleep for up to one second. try { Thread.sleep(random.nextInt(1000)); } catch (InterruptedException ignore) { } // Make random progress. progress += random.nextInt(10); setProgress(Math.min(progress, 100)); } return null; } /* * Executed in event dispatch thread */ public void done() { Toolkit.getDefaultToolkit().beep(); startButton.setEnabled(true); taskOutput.append("Done!\n"); } } public ProgressBarDemo2() { super(new BorderLayout()); // Create the demo's UI. startButton = new JButton("Start"); startButton.setActionCommand("start"); startButton.addActionListener(this); progressBar = new JProgressBar(0, 100); progressBar.setValue(0); // Call setStringPainted now so that the progress bar height // stays the same whether or not the string is shown. // progressBar.setStringPainted(true); taskOutput = new JTextArea(5, 20); taskOutput.setMargin(new Insets(5, 5, 5, 5)); taskOutput.setEditable(false); JPanel panel = new JPanel(); panel.add(startButton); panel.add(progressBar); add(panel, BorderLayout.PAGE_START); add(new JScrollPane(taskOutput), BorderLayout.CENTER); setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); } /** * Invoked when the user presses the start button. */ public void actionPerformed(ActionEvent evt) { progressBar.setIndeterminate(true); startButton.setEnabled(false); // Instances of javax.swing.SwingWorker are not reusuable, so // we create new instances as needed. task = new Task(); task.addPropertyChangeListener(this); task.execute(); } /** * Invoked when task's progress property changes. */ public void propertyChange(PropertyChangeEvent evt) { if ("progress" == evt.getPropertyName()) { int progress = (Integer) evt.getNewValue(); progressBar.setIndeterminate(false); progressBar.setValue(progress); taskOutput.append(String.format("Completed %d%% of task.\n", progress)); } } /** * Create the GUI and show it. As with all GUI code, this must run on the event-dispatching thread. */ private static void createAndShowGUI() { // Create and set up the window. JFrame frame = new JFrame("ProgressBarDemo2"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Create and set up the content pane. JComponent newContentPane = new ProgressBarDemo2(); newContentPane.setOpaque(true); // content panes must be opaque frame.setContentPane(newContentPane); // Display the window. frame.pack(); frame.setVisible(true); } public static void main(String[] args) { try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } // Schedule a job for the event-dispatching thread: // creating and showing this application's GUI. javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } }
发表评论
-
Swing中引入Android的NinePatch技术,让Swing拥有Android的外观定制能力
2012-09-21 09:22 1631【摘要】 本文诣在 ... -
JavaSwing实现支持合并拆分的JTable
2010-12-16 15:39 1981GridBagModel:抽象模型接口。该接口用于描述表格中单 ... -
JTable小例子,表格中使用JComboBox下拉按钮
2010-12-16 15:21 5429import java.awt.BorderLayout; ... -
配合滚动面板实现JTable上下翻页的效果
2010-12-16 14:26 3427import java.awt.BorderLayout; ... -
JScrollBar简单演示例子
2010-12-06 19:28 6628import java.awt.*; import java ... -
点击jtable的表头,数据会根据根据表头来排序
2010-12-06 11:47 5143import javax.swing.JFrame; imp ... -
重写JSplitPane的BasicSplitPaneUI
2010-09-18 13:39 1582import java.awt.Color; import ... -
Swing窗口初始最大化的方法
2010-08-20 11:09 79131.设置窗口最大(伪最大化) JFrame frame =n ... -
Tree目录实现拖拽功能演示实例(DragAndDrop)
2010-08-10 16:49 1803import java.awt.BorderLayout; ... -
设置JTextPane指定内容的颜色
2010-05-21 14:29 1373package Assis; import java.a ... -
ScaleImageDemo图像缩小与放大演示
2010-05-12 14:59 2126package Assis; import java.a ... -
TreesDemo
2010-05-04 11:19 1095import java.awt.*; import java ... -
TableDemo
2010-05-04 11:17 1207import javax.swing.JTable; imp ... -
分割面板演示JSplitPaneDemo
2010-05-04 11:12 1400//Java Swing 带分隔条的面板代码 impor ... -
StylesExample8
2010-04-08 12:55 1213import javax.swing.*; import j ... -
StylesExample7
2010-04-08 12:54 1009import javax.swing.*; import j ... -
StylesExample6
2010-04-08 12:52 1073import javax.swing.*; import j ... -
StylesExample5
2010-04-08 12:51 1003import javax.swing.*; import j ... -
StylesExample4
2010-04-08 12:50 1121import javax.swing.*; import j ... -
StylesExample3
2010-04-08 12:50 1014import javax.swing.*; import j ...
相关推荐
本项目涉及的知识点主要集中在使用Swing实现一个进度条,同时将Excel和TXT文本数据上传到MySQL数据库的过程。下面将对这些技术点进行详细阐述。 1. **Swing组件**: Swing是Java的图形用户界面(GUI)工具包,提供了...
在Java Swing中实现下载文件时的进度条功能,可以为用户提供更好的交互体验,让他们了解文件下载的状态。这个功能通常涉及到线程处理、网络I/O以及Swing组件的更新。以下是一些关键知识点: 1. **Swing组件**: - ...
这篇博客可能详细介绍了如何在Java Swing中使用进度条以及相关组件。 首先,我们来看`ProgressBarUI`。UI(用户界面)在Java Swing中是可定制的,`ProgressBarUI`是进度条的外观和行为的实现。它是`javax.swing....
Java Swing JProgressBar进度条的实现示例 Java Swing 中的 JProgressBar 是一个非常有用的组件,用于显示某些任务的进度。下面将详细介绍 JProgressBar 的实现示例、常用构造方法、常用方法和代码实例。 概述 ---...
在Java编程环境中,Swing库提供了...以上是关于"Swing不确定进度条"的知识点介绍,希望对你理解如何在Java Swing应用程序中使用不确定进度条有所帮助。在实际开发中,可以根据具体需求进行调整和优化,提升用户体验。
本示例主要使用了Swing库中的组件,Swing是Java中的一个用于创建图形用户界面的工具包,提供了丰富的UI组件,包括`JProgressBar`(进度条)。 #### 关键代码解析 下面我们将对这段代码进行逐行分析: 1. **导入...
为了实现进度条,我们可以使用`java.nio.file.FileChannel`和`java.nio.ByteBuffer`来跟踪已拷贝的字节数,并结合Swing的`JProgressBar`组件来显示进度。以下是一个带有进度条的文件拷贝示例: ```java import ...
在本例中,我们使用了JProgressBar来实现进度条,通过设置JProgressBar的最大值和当前值,可以实现进度条的动态更新。例如,在文件下载过程中,可以实时更新进度条的进度,以便用户可以了解当前下载进度。 三、Java...
### Java实现进度条:原理与代码详解 在软件开发中,进度条是用户界面中一个非常重要的组件,它能够直观地向用户展示任务的完成情况,提升用户体验。本篇文章将详细解析如何使用Java来实现一个功能完备且外观美观的...
2. **Swing的JProgressBar**:在GUI环境中,`javax.swing.JProgressBar`是实现进度条的标准组件。可以通过设置最小值、最大值和当前值来调整进度条的状态。 3. **JavaFX的ProgressIndicator**:JavaFX提供了更丰富...
在Swing中,虽然没有内置的圆形进度条,但可以使用`javax.swing.JComponent`和`java.awt.Graphics`类来自定义组件。基本思路与JavaFX类似,只是绘图API不同。 在压缩包`CircleProgressBar`中,可能包含了一个实现...
为了实现这样的进度条,我们需要使用多线程技术。多线程允许我们的程序同时执行多个任务,这里是一个简化的步骤: 1. **创建主线程**:这是应用程序的主要运行环境,负责处理用户交互和界面更新。 2. **创建子线程*...
这个实例提供了一个基础的进度条实现,但在实际应用中,可能需要考虑更多因素,如线程优先级、线程池的使用、异常处理、线程间的通信等。此外,如果是在图形用户界面环境下,还需要考虑UI更新的流畅性和用户体验。...
Java代码实现圆圈旋转效果,比如在线看电影缓存时的旋转圆圈,网页刷新时的旋转圆圈,等待时
1. **Swing和AWT库**:在Java中,我们通常使用Swing或AWT库来创建图形用户界面,这两个库提供了丰富的组件,包括JProgressBar,这就是我们实现进度条的主要工具。 2. **JProgressBar**:JProgressBar是Swing中的一...
Java Swing组件实现进度监视功能示例是Java中基于Swing组件实现进度条显示功能的详细分析和示例,主要介绍了如何使用Java Swing组件来实现进度监视功能,包括创建进度对话框、模拟耗时任务、进度条显示、取消操作等...
本主题将深入探讨如何在Java多线程环境下实现进度条功能。 首先,理解Java多线程的基本概念至关重要。Java通过Thread类和Runnable接口来支持多线程。创建一个新线程通常有两种方式:继承Thread类并重写run()方法,...