我知道如果我需要从其他线程更改JTextField
值,我需要使用SwingUtilities.invokeLater()
调用。但是如果我需要从不同的线程获取该值,我可以使用textfield.getText()
或者我需要使用某种invokeLater
调用吗?感谢。
答案 0 :(得分:1)
如果getText()调用的结果可能是不确定的(即无序),那么允许使用不同的线程来获取值。
答案 1 :(得分:1)
应该从事件派发线程中调用像getText()这样简单的东西。
如果您在另一个主题中,则可以使用invokeAndWait:
var userA = 10;
var userB = 10;
var users = [userA, userB];
function user(defence, attack){
for (var i = 0; i < users.length; i++) {
if (users[i] == userA) {
if (defence == attack) {
return 0;
} }
//Attack is undefended and hurts the defender
if (attack == "head") {
return users[i] -= 4;
} else if (attack == "leg") {
return users[i] -= 2;
}
else if (users[i] == userB) {
if (defence == attack) {
return 0;
} }
//Attack is undefended and hurts the defender
if (attack == "head") {
return users[i] -= 4;
} else if (attack == "leg") {
return users[i] -= 2;
}
}
}
users[i] += user("head", "leg");