我有这个学校项目,我需要让我的代码隐藏一个按钮,然后睡觉,然后继续,但它永远不要隐藏按钮。隐藏按钮,然后等待2秒后再次显示,点击按钮后
我有一个类是由一个按钮启动的,然后启动另一个应该隐藏按钮的方法,然后在另一个类中启动一个方法,执行一堆完美的事情,然后它在第三堂课中开始第三种方法,第一课应该做的是睡觉,但在隐藏我的按钮之前睡觉,并完全跳过隐藏我的按钮。
这里是代码的一部分(不介意丹麦值/方法名):
public void turncard(final int navn,boolean spiller){
knap.setVisible(false);
EqualCheck.storevalue(this,spiller);
}
我知道这部分被包围,如果..但是它可以这样调用。
if(spiller){ //tester om det er spilleren der har vendt kort,
kort.repaint(); //og hvis det er, så starter den computerens
Main.spillet.computertur(); //tur.
}
,然后在“computertur”方法开始
public void computertur() {
for(int i = 0; i < kortene.size(); i++) {
kortene.get(i).knap.setEnabled(false);
}
try {
Thread.sleep(2000);
} catch (Exception e) {
System.out.println("sleep failed.");
}
我读过有关invokeAndWait
命令,它应该是EDT更好:S,但我怎么可以用它来暂停mythread
...甚至更好的问题,为什么它不隐藏按钮? :)我的意思是,在我的脑海里,在任何其他事情都会在它做任何事情之前将其隐藏起来之前,调用setVisible(false)
..为什么不呢?
不应该最后一个示例代码调用setVisible(false)而不是setEnabled(false)吗? setEnable只是禁用了不可点击的按钮,它不会隐藏它。 – Jberg 2011-04-22 17:43:06
设置启用是为了使用户无法在执行cumputertur()时点击按钮,最终撤消setEnable(false).. :) – Kezides 2011-04-22 19:01:09