Tag: thread sleep

线程睡眠在actionPerformed方法中

首先,我想说我知道这种方法是错误的所以我问这个问题是因为纯粹的好奇心。 可以说我有一个像这样的swing应用程序: import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; public class ThreadSleeping { JFrame frame = new JFrame(); JPanel panel = new JPanel(); JButton button = new JButton(“Load”); JLabel label = new JLabel(); public ThreadSleeping() { panel.add(button); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent […]

如何使用带有延迟的while循环每次更新jLabel

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { int count = jSlider1.getValue(); int delay = jSlider2.getValue(); int valueOfSlider = jSlider2.getValue(); int valueOfSlider2 = jSlider1.getValue(); while (count > 0) { count–; String count2 = “”+count; jLabel3.setText(count2); try {Thread.sleep(delay); } catch (InterruptedException ie) { } } 它最终将显示jLabel上的最终数字,但它不会逐步更新数字。 任何帮助

如何暂停java线程一小段时间,如100纳秒?

我知道Thread.sleep()可以让java线程暂停一段时间,比如某些毫秒和某个纳秒。 但问题是这个函数的调用也会导致开销。 例如,如果我想要一个线程暂停100纳秒,我调用Thread.sleep(0,100) 。 这个过程的全部成本是invocation_cost + 100 nanosceonds ,这可能比我想要的要大得多。 我怎么能避免这个问题,实现我的目的呢? 我需要这个的原因是我想离线进行模拟。 我描述了任务的执行时间; 现在我想通过在同一时间段内挂起一个线程来模拟这个执行时间。 谢谢!

Java按钮暂停图形更新

所以我有一个class级,我必须制作一个程序来制作西蒙。 我知道我这样做的方式不一定是最好的方式,但是,他有一些模糊的要求,所以这就是我这样做的原因。 我的程序即将完成,但我有一个主要问题。 当我按下重置按钮时,我调用一个名为reset的方法,该方法又将计算机设置为进行第一步。 在此期间,有图形更新。 当我单独调用reset方法时,它按预期工作当我按下重置按钮时,它会完成所有图形更新。 有没有办法在按下按钮后运行方法? 我的主要计划 package game; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.Random; import javax.swing.JFrame; import javax.swing.JPanel; import components.*; @SuppressWarnings(“serial”) public class Simonish extends JFrame implements ActionListener, MouseListener { private Color[][] ColorSwatch = {{Color.RED,Color.PINK},{Color.GREEN,Color.YELLOW}}; private int width = 2; private int height […]

Java Swing JButton时间延迟(闪烁)

我正试图让我的JButton闪烁红色为我正在创建的这个游戏。 本网站上的所有解决方案都建议使用一个线程并将其置于睡眠状态或使用计时器,但是,颜色变化之后似乎会出现暂停消息 这是我的代码: Color cb = board[Y1][X1].getBackground(); board[Y1][X1].setBackground(Color.RED); //Pause board[Y1][X1].setBackground(cb); 如果我放一个线程并让它在第3行睡觉并注释掉第4行,那么暂停将在JButton变为红色之前出现。 (注意板只是JButtons的2D数组)

如果没有自定义对话框面板中的Thread.sleep(),SwingWorker不会更新JProgressBar

我有一个SwingWorker类,它加载一个文本文件并将其切片到块进行进一步处理。 这是SwingWorker类: public class ConverterWorker extends SwingWorker { private final File f; private final JLabel label; public ConverterWorker(File f, JLabel label) { this.f = f; this.label = label; } @Override protected String doInBackground() throws Exception { NMTMain.convertableData = getDataSets(f); if(!NMTMain.convertableData.isEmpty()) { return “Done”; } else { publish(“Failed to load the file!”); return “Failed”; } } […]

Swing – Thread.sleep()停止JTextField.setText()工作

可能重复: 对单个线程使用sleep() 使用Thread.sleep()时,我遇到了JTextField.setText()的问题。 这是我正在制作的基本计算器。 当输入字段中的输入格式不正确时,我希望“INPUT ERROR”出现在输出字段中5秒钟,然后清除它。 当我只将文本设置为“INPUT ERROR”并打印出中间的文本时,setText()方法确实有效,我发现它确实可以同时使用它和setText(“”)。 当我在它们之间放置Thread.sleep()时会出现问题。 这是代码的SSCCE版本: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.regex.Pattern; import javax.swing.*; public class Calc { static Calc calc = new Calc(); public static void main(String args[]) { GUI gui = calc.new GUI(); } public class GUI implements ActionListener { private JButton equals; private JTextField inputField, outputField; public GUI() […]