gpt4 book ai didi

java - 让java在方法之间等待

转载 作者:行者123 更新时间:2023-12-01 11:39:48 27 4
gpt4 key购买 nike

在空闲时间,我通过制作游戏来练习java。我有一个按钮,它依次调用 2 个方法,并且它们都更改同一个 UI 对象。

我找不到方法/无法理解如何让 java 在方法执行之间等待,以便我可以在第一个方法完成后和第二个方法再次更改该字段之前看到该字段的值.

据我了解,最好的方法是使用 Swing 计时器,但我根本不明白它的语法。我尝试使用 sleep,但即使它等待了指定的时间,它也只显示原始值和最终值,省略了中间的值。

我拥有的是:

label.setIcon(Alive);

private void cmdAttackActionPerformed(java.awt.event.ActionEvent evt) {
//inside method1:
label.setIcon(Dead);

//wait a few seconds to see the label while setIcon(Dead) is the value

//inside method2:
if (reinforcements!=0){
label.setIcon(Alive);
}
}

所以我尝试修改一些并设法得到结果,但我仍然无法让它做我想要的事情。

public void run() {
String output="";
for (int i = 0; i < combatInfo[info].length(); i++) {
output=output+combatInfo[info].substring(i, i+1);
if(i%2==0){
cmdInfo.setText(output);
System.out.println(output);
}
try {
Thread.sleep(100);
} catch (InterruptedException ex) {}
}
};

println() 一次执行一步,正如它应该的那样,但是,setText() 仍然只显示最终值,跳过中间的任何内容。我该如何解决这个问题?

最佳答案

托马斯,stackoverflow 上还有其他用户也有同样的问题(非常相似的问题)。我建议您在发帖前先搜索一下。

您可以按照您所说的使用计时器,请参阅此答案作为示例: java: run a function after a specific number of seconds

基本上,您将调用方法 1 并使用计时器在将来(预定)调用方法 2。

关于java - 让java在方法之间等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29628605/

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