gpt4 book ai didi

java - 如何让 JButton 在恢复其原始颜色之前改变颜色一段时间

转载 作者:行者123 更新时间:2023-12-05 02:39:56 27 4
gpt4 key购买 nike

我想创建一个计算器,它的按键在按下时会改变颜色,并在 3000 毫秒后返回到它们的初始颜色(白色)。为此,我实现了 JButton.setBackground() 方法并编写代码使按键在 3000 毫秒后恢复到其原始颜色。但是,每次我单击计算器键时,它都会等待 3000 毫秒,然后再将 JButton 值返回给我,它会改变颜色,但不会恢复为原始颜色。我尝试了几次演习但没有成功。这是我的 JButton 在返回其初始颜色之前更改给定颜色的代码:

try {
buttonOne.setBackground(Color.RED) ;
Thread.sleep(millis:3000) ;
buttonOne.setBackground(Color.WHITE);
} catch (InterruptedException interruptedException ) {
InterruptedException.printStackTrace();
}

最佳答案

您不想在 UI 中使用 Thread.sleep(),因为您希望 UI 保持响应。

尝试这样的事情:

import javax.swing.Timer;

JButton buttonOne = new JButton("Click me");
Timer timer = new Timer(3000 ,afterButtonClicked);
timer.setRepeats(false);

ActionListener afterButtonClicked = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
buttonOne.setBackground(Color.WHITE);
}
};

在按钮上的 Action 监听器中:

buttonOne.setBackground(Color.RED);
timer.start();

关于java - 如何让 JButton 在恢复其原始颜色之前改变颜色一段时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68868649/

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