当我按JLabel
时,我得到一个mousePressed
事件调用,在该事件中我想禁用JButton
。但是,没有任何反应。为什么是这样?
这是JLabel
mousePress
事件处理程序:
public void mousePressed(MouseEvent e) {
get_clickevent(false)
}
这是在
mousePressed
上调用的函数:public void get_clckevent(final boolean value){
java.awt.EventQueue.invokeLater(new Runnable() {
boolean valu = value;
public void run() {
if (valu == false) {
btnSave.setEnabled(false); //here is button that does not disable.
}
}
});
最佳答案
您所拥有的代码看起来没有问题。确保btnSave实际上指向您认为正确的按钮。另外,请确保您的鼠标事件实际上正在发生。 (在某处添加println以确保您的按钮确实设置为禁用)。
也可以代替:
if (valu == false) {
做就是了:
if (!valu) {
这行的意义是什么:
boolean valu = value;
只需在if语句中使用value而不是valu即可。