java 如何实现在监听事件发生前发生!如下代码:我如何才能在点按钮时就马上显示“正在连接...”
publicclassTextendsJFrame{staticJLabelj=newJLabel("正在连接...");JButtonjb=newJButton("su...
public class T extends JFrame {
static JLabel j = new JLabel("正在连接...");
JButton jb = new JButton("success");
JPanel jp = new JPanel();
public T() {
setSize(400, 200);
jp.add(jb);
j.setVisible(false);
jp.add(j);
add(jp);
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
j.setVisible(true);
try {
Thread.sleep(5000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
});
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setVisible(true);
}
public static void main(String[] args) {
T t = new T();
t.setVisible(true);
}
} 展开
static JLabel j = new JLabel("正在连接...");
JButton jb = new JButton("success");
JPanel jp = new JPanel();
public T() {
setSize(400, 200);
jp.add(jb);
j.setVisible(false);
jp.add(j);
add(jp);
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
j.setVisible(true);
try {
Thread.sleep(5000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
});
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setVisible(true);
}
public static void main(String[] args) {
T t = new T();
t.setVisible(true);
}
} 展开
2个回答
展开全部
Thread.sleep(5000);
将5000改成一个较小的时间不就可以了
将5000改成一个较小的时间不就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的那种只能把其他操作放到另外一条线程中
这样就能达到你要的效果了
这样就能达到你要的效果了
追问
现在效果是达到了,但是报错了! 中止线程用stop达不到效果!
new Thread1().start();
new Thread1().destroy();
public static void main(String[] args) {
T t = new T();
}
class Thread1 extends Thread {
@Override
public void run() {
T.j.setVisible(true);
}
}
追答
线程的终止部分我也搞不好
我只会打开
还不太会关闭
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询