gpt4 book ai didi

java - 线程在倒计时时卡住 UI

转载 作者:行者123 更新时间:2023-12-01 09:17:03 25 4
gpt4 key购买 nike

我想使用线程创建一个倒计时器(这是我被告知要尝试的)。我确实制作了 UI,但一旦添加线程,它就会卡住。我尝试过使用 Thread.yield() 但没有成功。我尝试执行在另一个问题中看到的 invokeLater() 技巧,但它一直让我无法convert void to Thread

每一秒经过后,UI 都会更新 JTextField。

field = new JTextArea();    
Button = new JButton();
Button.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
for (int i = Integer.parseInt(field.getText()); i >= 0; i--)
{
try
{
Thread.sleep(1000);
}
field.setText(Integer.toString(i));
}
}
}
);

最佳答案

您根本没有使用线程。试试这个:

   field = new JTextArea();    
Button = new JButton();
Button.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
new Thread() {public void run() {
for (int i = Integer.parseInt(field.getText()); i >= 0; i--)
{
try
{
Thread.sleep(1000);
}
field.setText(Integer.toString(i));
}
}}.start();
}
}
);

关于java - 线程在倒计时时卡住 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40472108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com