在调用方法之前禁用按钮
Disable a button before calling a method
我想在调用方法之前禁用按钮。
换句话说,我想以线性方式执行一些代码。
这是代码
@Listen("onClick = #kodIsteButtonId")
public void kodIste() {
k = kd.findKisiByKullaniciadi(kullaniciadiId.getValue());
if (k == null) {
Messagebox.show("Böyle bir kullanıcı bulunamadı!", "Hata Mesajı",
0, Messagebox.ERROR);
} else {
kodIsteButtonId.setDisabled(true);
countDown(10, 6, k);
}
}
private void countDown(int fromToZero, int sleepTime, Kisiler k) {
tempPassword = rasgeleYeniSifre();
sendEposta(k.getEposta(), tempPassword);
alert("Güvenlik kodu e-postanıza gönderildi.");
while (fromToZero > 0) {
try {
Thread.sleep(sleepTime * 1000);
} catch (Exception e) {
e.printStackTrace();
}
fromToZero--;
}
sifreAlButtonId.setDisabled(false);
clearButtonId.setDisabled(false);
kodId.setDisabled(false);
}
当我点击按钮时,我希望看到它被禁用。
但是在运行 countDown() 方法之后,它仍然是启用的。
可能是什么原因?
原因是当您从服务器收到回复时该按钮会禁用。
对于您的情况,这是 public void kodIste()
完成的时刻。
最简单的解决方案是使用自动禁用:
<button autodisable="self" />
这会自动禁用和启用按钮。
如果你想控制按钮何时必须再次启用,你可以这样做:
<button autodisable="+self" />
我想在调用方法之前禁用按钮。
换句话说,我想以线性方式执行一些代码。
这是代码
@Listen("onClick = #kodIsteButtonId")
public void kodIste() {
k = kd.findKisiByKullaniciadi(kullaniciadiId.getValue());
if (k == null) {
Messagebox.show("Böyle bir kullanıcı bulunamadı!", "Hata Mesajı",
0, Messagebox.ERROR);
} else {
kodIsteButtonId.setDisabled(true);
countDown(10, 6, k);
}
}
private void countDown(int fromToZero, int sleepTime, Kisiler k) {
tempPassword = rasgeleYeniSifre();
sendEposta(k.getEposta(), tempPassword);
alert("Güvenlik kodu e-postanıza gönderildi.");
while (fromToZero > 0) {
try {
Thread.sleep(sleepTime * 1000);
} catch (Exception e) {
e.printStackTrace();
}
fromToZero--;
}
sifreAlButtonId.setDisabled(false);
clearButtonId.setDisabled(false);
kodId.setDisabled(false);
}
当我点击按钮时,我希望看到它被禁用。
但是在运行 countDown() 方法之后,它仍然是启用的。
可能是什么原因?
原因是当您从服务器收到回复时该按钮会禁用。
对于您的情况,这是 public void kodIste()
完成的时刻。
最简单的解决方案是使用自动禁用:
<button autodisable="self" />
这会自动禁用和启用按钮。
如果你想控制按钮何时必须再次启用,你可以这样做:
<button autodisable="+self" />