gpt4 book ai didi

java - 暂停 Swing GUI

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

嘿!所以我开始使用 netbeans java gui 开发,但遇到了这个问题:

我制作了一个带有按钮和文本字段的窗口。当用户单击按钮时,我希望文本字段开始延迟输入。例如:

textfield.text=h
wait(1) sec
textfield.text=he
wait(1) sec
textfield.text=hel
wait(1) sec
textfield.text=hell
wait(1) sec
textfield.text=hello

我已经尝试过使用Thread.sleep(),但在上面的示例中,它会等待 4 秒左右,然后显示整个文本(所以它不会给我带来我所看到的拼写错误效果)会想要)。

有人可以帮我解决这个问题吗?

最佳答案

如果您使用 Thread.sleep(...) 或任何其他延迟 Swing 事件线程的代码,您最终会将整个 Swing 事件线程置于 sleep 状态,并且您的应用。这里的关键是改用 Swing Timer 。在计时器的 ActionListener 的 actionPerformed 方法中,添加一个字母并增加索引,然后使用该索引来决定下一个要添加的字母。

即,

String helloString = "hello";

// in the Timer's ActionListener's actionPerformed method:
if (index >= helloString.length()) {
// stop the Timer here
} else {
String currentText = textField.getText();
currentText += helloString.charAt(index);
textField.setText(currentText);
index++;
}

关于java - 暂停 Swing GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23023730/

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