请教:怎么实现让一个按钮点击后置灰一段时间? 请教:怎么实现让一个按钮点击后置灰一段时间?尽量把思路写详细点多谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该说的是web的吧?纯页面的定时器我不会。如果我做的话我会在页面设一个标记值,这个值通过后台来改变。请求发送后吧标记值改为false,在响应返回之前都设置为false,响应之后设置为true。 我晕。那就太简单了。。设置一个线程专门跑定时器控制开关就行了。还是标记位,标记位为true的时候为亮的,允许点,点过之后变为false。不允许点。定时器每隔一定时间把这个变成true。这个我以前做射击类游戏的时候做过。 单击后开一个线程 run里面设置setEnabled(false) 接着睡眠count秒(过一阵子) 恢复启用该JButton :true final JButton jbt = new JButton();// jbt.setIcon(icon); jbt.addMouseListener(new MouseListener(){ @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub jbt.setEnabled(false); Timer timer = new Timer(); timer.schedule(new MyTask(), 1000*60); } class MyTask extends java.util.TimerTask{ @Override public void run() { jbt.setEnabled(true); } } @Override ....... });麻烦看下这么搞的话为啥会出现用户多次点击按钮后设定的enable的时间不起作用这个问题在哪? 囧,button灰掉了还可以监听到对他的点击事件 使用ActionListener和javax.swing.Timer, 这个是业务问题吧,禁用按钮多长时间是根据具体业务来的,当业务进行时为了不出现重复操作就禁止点击,等业务完成则回复点击。但是至灰并不代表禁止点击,判断还是要自己写的。如果是web的话把属性设置为disabled就可以了,似乎swing也有这个属性。 jbt.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub System.out.println("press"); jbt.setEnabled(false); Timer timer = new Timer(); timer.schedule(new TimerTask(){ @Override public void run() { // TODO Auto-generated method stub jbt.setEnabled(true); } }, 3*1000); timer = null; } }); Java 二维图形 滚动面板中的面板无法显示 连接oracle数据库不能添加记录?? applet转成java的JFrame窗体程序 bean:include的jsp文字长度超过8K就IOException,哪位指点一下 repaint()如何理解 ?? 请帮我看看为什么变量id没有自增? JInternalFrame 一打开的时候,怎样改变焦点? 谁能给俺发一个VSS?? 请问在数据库库中如何存放图片文件呢 为什么运行几秒后输出a client connect! 在线等!! java txt导出的问题
纯页面的定时器我不会。
如果我做的话我会在页面设一个标记值,这个值通过后台来改变。
请求发送后吧标记值改为false,在响应返回之前都设置为false,响应之后设置为true。
设置一个线程专门跑定时器控制开关就行了。
还是标记位,标记位为true的时候为亮的,允许点,点过之后变为false。不允许点。
定时器每隔一定时间把这个变成true。
这个我以前做射击类游戏的时候做过。
// jbt.setIcon(icon);
jbt.addMouseListener(new MouseListener(){ @Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
jbt.setEnabled(false);
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000*60);
} class MyTask extends java.util.TimerTask{
@Override
public void run() {
jbt.setEnabled(true);
}
} @Override
.......
});
麻烦看下这么搞的话为啥会出现用户多次点击按钮后设定的enable的时间不起作用
这个问题在哪?
如果是web的话把属性设置为disabled就可以了,似乎swing也有这个属性。
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
System.out.println("press");
jbt.setEnabled(false);
Timer timer = new Timer();
timer.schedule(new TimerTask(){ @Override
public void run() {
// TODO Auto-generated method stub
jbt.setEnabled(true);
}
}, 3*1000);
timer = null;
}
});