button = new JButton("开始数据转换");
button.setEnabled(false);
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(final MouseEvent arg0) {
if(!button.isEnabled())
return;
SetActionLable("开始数gggg据转换");
}
});
我用button.setEnabled(false);把BUTTON禁用,但我运行程序时BUTTON的确是变灰了,但鼠标的的mouseClicked事件依然是产生的,我只能多加一句if(!button.isEnabled()) return;来限定了,是什么原因呢?BUTTON禁用后应该至少mouseClicked不响应才对的啊?谢了
button.setEnabled(false);
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(final MouseEvent arg0) {
if(!button.isEnabled())
return;
SetActionLable("开始数gggg据转换");
}
});
我用button.setEnabled(false);把BUTTON禁用,但我运行程序时BUTTON的确是变灰了,但鼠标的的mouseClicked事件依然是产生的,我只能多加一句if(!button.isEnabled()) return;来限定了,是什么原因呢?BUTTON禁用后应该至少mouseClicked不响应才对的啊?谢了
public void setEnabled(boolean enabled)
设置是否启用此组件。
已启用的组件可以响应用户输入,而未启用的组件则无法响应用户输入。
可以在禁用某些组件时更改其可视化表现形式,以向用户提供反馈,说明其无法接受输入。
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;import javax.swing.JButton;
import javax.swing.JFrame;public class SimpleTest { /**
* @param args
*/
public static void main(String[] args) {
JFrame frame = new JFrame();
JButton button = new JButton("Test");
button.setEnabled(false);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("actionPerformed");
}
});
button.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
System.out.println("mousePressed");
}
});
frame.getContentPane().add(button);
frame.setVisible(true);
frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}