大佬教程收集整理的这篇文章主要介绍了actionPerformed方法内部的线程睡眠,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在这种情况下可以工作,因为您以编程方式冻结了Swing GUI,但是没有/没有其他更新,也没有 其他JComponent
在Swing GUI上还有其他一些更新(Thread.sleep(int)冻结事件调度线程)的情况下,该方法不起作用
默认情况下,JComponents XxxModels
永不更新的所有更新将在JComponents vIEw
直到睡眠结束,您将丢失所有更新到GUI的示例
首先,我想说的是,我知道@R_944_10377@是错误的,因此,我出于好奇而问这个问题。可以说我有一个这样的秋千应用程序:
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 arg0) { label.setIcon(new ImageIcon( "C:/Users/Public/Pictures/Sample Pictures/Tulips.jpg")); System.out.println("Tulips painted"); try { Thread.sleep(2000); } catch (InterruptedException E) { e.printStackTrace(); } label.setIcon(new ImageIcon( "C:/Users/Public/Pictures/Sample Pictures/Koala.jpg")); System.out.println("Koala painted"); } }); frame.add(panel,BorderLayout.NORTH); frame.add(label,BorderLayout.CENTER); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.setSize(1024,768); // frame.pack(); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new ThreadSleeping(); } }); } }
@H_262_33@基本上,当我单击
Load
按钮时,我期望Tulips.jpg
图像显示,然后GUI冻结2秒钟,然后我期望Koala.jpg
图像显示。但是发生的是:我单击按钮,GUI冻结2秒钟并Koala.jpg
显示。没有Tulips.jpg
之前。但是让我感到困惑的是当我把它们System.out.println("Tulips painted");
和System.out.println("Koala painted");
。因此,当我单击按钮时,它会打印“郁金香画”,并在2秒钟后打印“考拉画”。有人可以告诉我这是怎么回事吗?问候。
以上是大佬教程为你收集整理的actionPerformed方法内部的线程睡眠全部内容,希望文章能够帮你解决actionPerformed方法内部的线程睡眠所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。