首页 > 后端开发 > 正文

我在做一个JAVA软件,希望在点击一个按钮后执行一段程序,在执行过程中出现一个进度条,应该怎么添加

2024-06-08 12:20:00 | 我爱编程网

我爱编程网小编给大家带来了我在做一个JAVA软件,希望在点击一个按钮后执行一段程序,在执行过程中出现一个进度条,应该怎么添加相关文章,一起来看一下吧。

本文目录一览:

我在做一个JAVA软件,希望在点击一个按钮后执行一段程序,在执行过程中出现一个进度条,应该怎么添加

java中swing界面中主程序运行时进度条不显示,程序结束后才显示;注释掉主程序后,再运行,进度条正常显示

你的 action 事件可以放在一个新线程中运行,不要阻挡 Swing 画图。

Swing 对事件的响应都是放在一个叫事件派发的线程中去做的,如果你的事件响应监听器本身在被事件派发线程调用时你做的事件太花时间了(比如我们来个无限循环啥的)我们就应该把这个 actionPerformed 方法中的事情放在一个新开的线程中去做:

public void actionPerformed(final ActionEvent e) {

new Thread() {

public void run() { // 你的事情都放在这里处理 }

}.start() ; // 开启一个新线程来处理,它将不再阻挡 Swing 事件派发线程去绘图。

}

我在做一个JAVA软件,希望在点击一个按钮后执行一段程序,在执行过程中出现一个进度条,应该怎么添加

java进度条显示问题

// 回答完毕,采纳即可

import java.awt.BorderLayout;

import java.awt.Toolkit;

import java.beans.PropertyChangeEvent;

import java.beans.PropertyChangeListener;

import java.util.Random;

import javax.swing.BorderFactory;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JProgressBar;

import javax.swing.SwingWorker;

public class Bar extends JPanel implements PropertyChangeListener

{

private static final long serialVersionUID = 1L;

private JProgressBar progressBar;

private Task task;

public Bar()

{

super(new BorderLayout());

progressBar = new JProgressBar(0, 100);

progressBar.setValue(0);

progressBar.setStringPainted(true);

JPanel panel = new JPanel();

panel.add(progressBar);

add(panel, BorderLayout.PAGE_START);

setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));

}

class Task extends SwingWorker

{

@Override

public Void doInBackground()

{

Random random = new Random();

int progress = 0;

setProgress(0);

while(progress < 100)

{

try

{

Thread.sleep(random.nextInt(1000));

}

catch(InterruptedException ignore)

{}

progress += random.nextInt(10);

setProgress(Math.min(progress, 100));

}

return null;

}

@Override

public void done()

{

Toolkit.getDefaultToolkit().beep();

System.exit(0);

}

}

public void propertyChange(PropertyChangeEvent evt)

{

if("progress" == evt.getPropertyName())

{

int progress = (Integer) evt.getNewValue();

progressBar.setValue(progress);

}

}

private void start()

{

task = new Task();

task.addPropertyChangeListener(this);

task.execute();

}

private static void createAndShowGUI()

{

JFrame frame = new JFrame("bar");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Bar b = new Bar();

b.setOpaque(true);

b.start();

frame.setContentPane(b);

frame.pack();

frame.setResizable(false);

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

public static void main(String[] args)

{

javax.swing.SwingUtilities.invokeLater(new Runnable()

{

public void run()

{

createAndShowGUI();

}

});

}

}

我在做一个JAVA软件,希望在点击一个按钮后执行一段程序,在执行过程中出现一个进度条,应该怎么添加

我在做一个JAVA软件,希望在点击一个按钮后执行一段程序,在执行过程中出现一个进度条,应该怎么添加

我爱编程网(https://www.52biancheng.com)小编还为大家带来我在做一个JAVA软件,希望在点击一个按钮后执行一段程序,在执行过程中出现一个进度条,应该怎么添加的相关内容。

package socket.fox.msgdeal;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Frame;我爱编程网

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class JProgressBar extends Frame implements Runnable {

int x, y; // 进度倏起始位置

int rectWidth, rectHeight, width, height, num; // 进度格倏宽,进度格高,进度倏宽,进度倏高,格子数量

int x0, d, n; // 进度,进度格之间的距离,进度n%

Image bufImg;

Graphics gBuf;

public JProgressBar() {

x = 40;

y = 50;

x0 = x;

rectWidth = 6; // 每个进度格的宽

rectHeight = 10;

d = rectWidth / 3;

num = 50; // 显示五十个进度格

width = (rectWidth + d) * num;

height = rectHeight + 4; // 进度格的高

init();

bufImg = this.createImage(getWidth(), getHeight());

gBuf = bufImg.getGraphics();

paintBack();

repaint();

}

public void init() {

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

this.setSize(this.x * 2 + width, this.y * 2 + height);

this.setVisible(true);

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();

int w = getSize().width;

int h = getSize().height;

int x = (dim.width - w) / 2;

int y = (dim.height - h) / 2;

setLocation(x, y);

}

public static void main(String[] args) {

new Thread(new JProgressBar()).start();

}

public void paintBack() {

gBuf.drawRoundRect(x, y, width, height, 6, 6);

}

public void paintProgressRect() {

Color c = gBuf.getColor();

gBuf.setColor(new Color(46, 211, 49));

x0 = x;

for (int i = 0; i < n; i++) {

gBuf.fillRect(x0, y + 2, rectWidth, rectHeight);

x0 += rectWidth + d;

}

gBuf.setColor(c);

}

public void paint(Graphics g) {

g.drawImage(bufImg, 0, 0, this);

}

/**

* 设置进度倏进度

*

* @param n

* 进度百分比

*/

public void setPercent(int n) {

this.n = n;

}

public void run() {

boolean flag = true;

while (flag) {

try {

repaint();

Thread.sleep(500);

n++;

System.out.println(n);

if (n > num) {

n = num;

flag = false;

}

paintProgressRect();

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

以上就是我爱编程网小编给大家带来的我在做一个JAVA软件,希望在点击一个按钮后执行一段程序,在执行过程中出现一个进度条,应该怎么添加,希望能对大家有所帮助。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“我在做一个JAVA软件,希望在点击一个按钮后执行一段程序,在执行过程中出现一个进度条,应该怎么添加”相关推荐
怎么实现页面一按钮点击后执行一个后台的php函数
怎么实现页面一按钮点击后执行一个后台的php函数

能不能点击html按钮时运行php的定义函数?非常见的Editplus之类的,都是专门为PHP开发的,有兴趣都可以试试看,找出自己用得顺手的就可以了,我推荐3个ZendStudio,DzSoftPHPEditor,Editplus,也是我现在用的,希望对大家有帮助。ZendStudio开发商:目前公认的最强大的PHP开发工具,这种集成软件包包括了用于编辑,调试,配置PHP程序所

2024-11-17 12:50:32
php。在while循环中调用一个函数。是当调用的函数执行完后再进入下一次循环?(php中点击一个按钮,执行一个内置函数)
php。在while循环中调用一个函数。是当调用的函数执行完后再进入下一次循环?(php中点击一个按钮,执行一个内置函数)

php。在while循环中调用一个函数。是当调用的函数执行完后再进入下一次循环?你的第一个问题:只有在本次的yihanshu()彻底执行完毕后,才进行下一次while循环。你的第二个问题:可以在yihanshu()里面插入sleep(1000000);例如yihanshu(){sleep(10000);//间隔10000秒之后再继续执行dosomething();

2024-08-25 12:50:50
如何在JAVA中每隔一段时间执行一段程序
如何在JAVA中每隔一段时间执行一段程序

简述Java程序从编写到运行的基本步骤,并说明Java的基本工作原理Java编译原理:Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。一.Java源文件的编译、下载、解释和执行Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译

2024-03-24 16:51:53
PHP文件执行时显示源代码 php点击按钮调用一个函数
PHP文件执行时显示源代码 php点击按钮调用一个函数

有个PHP的动态加解密函数代码,求大神帮忙写一个对接这个PHP动态加解密的加解密的源码谢谢、&lt;?php/** * 加密函数 * @param  string  $string    明文 或 密文   * @param  string  $operation DECODE表示解密,其它表示加密   * @param  string  $key       密匙   * @param  

2024-08-06 20:57:50
java  例如在界面上添加一个button,点击button时如何设置断点进入程序单步调式
java 例如在界面上添加一个button,点击button时如何设置断点进入程序单步调式

java例如在界面上添加一个button,点击button时如何设置断点进入程序单步调式使用Eclipse等IDE编程工具,能方便的进入调试模式。以Eclipse为例:在button的事件函数里面设置断点,用调试模式(即debugas)启动程序即可。新增:把代码贴出来吧。新增:e.getActionCommand().equals("Exit")是用来确认你是否点击的Ex

2024-05-12 13:07:51
php文件中添加一个按钮 点击关闭当前页面调用什么函数
php文件中添加一个按钮 点击关闭当前页面调用什么函数

php点击按钮调用一个函数给你一个最简单的示例&lt;?phpfunctionquery(){........代码......}if($_POST["do"]=="yes"){query();}?&gt;&lt;inputtype="button"value="按钮"onclick="javascript:cmdclick()"/&gt;&lt;scr

2024-08-04 11:00:12
安装了java之后怎样运行程序(怎样在一个java程序中获得另一个程序的运行状态)
安装了java之后怎样运行程序(怎样在一个java程序中获得另一个程序的运行状态)

安装了java之后怎样运行程序java,你指的是JDK(javadevelopmentkits)安装完成了,你需要完成以下几个步骤:首先:先将JDK的path,classpath,JAVA_HOME,配置到电脑变量里面,然后:测试JDK是否安装成功,进入电脑控制台,XP是开始菜单-&gt;运行选项,Win7为开始菜单-&gt;搜索内容里面输入cmd进入控制台,在控制台输入java-v

2024-03-26 06:19:07
用js的confirm弹出一个框 点击确定后如何执行一个php函数?
用js的confirm弹出一个框 点击确定后如何执行一个php函数?

用js的confirm弹出一个框点击确定后如何执行一个php函数?js是客户端脚本,php在服务器端执行的,只能再用异步访问php页面&lt;script&gt;if(confirm('确定吗?')){$.post('test.php',function(msg){//.......});}&lt;/script&gt;需要用到jquery,php函数只能

2024-08-04 18:59:20