有什么办法可以禁用鼠标点击吗?面板中有不同的组件,对于某些按钮单击事件,我想禁用鼠标单击。我的意思是单击鼠标对组件没有任何影响。我可以禁用 setEnabled()
函数,但我不想这样做。
有什么办法可以禁用鼠标点击吗?
情况:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
//..disable the mouse click on each component present inside the panel
}
最佳答案
您可以向所有按钮添加扩展的 ActionListener,如下所示:
public abstract class ExtendedActionListener implements ActionListener{
private static boolean disabled = false;
public static void setDisabled(boolean disabled){
ExtendedActionListener.disabled = disabled;
}
@Override
public final void actionPerformed(ActionEvent e){
if(disabled)
return;
doSomething;
}
}
现在只需调用方法 setDisabled(false)
禁用所有 ActionListener。按钮的视觉行为根本没有改变,但是当您单击它时什么也没有发生。
如果视觉点击行为并不重要,那么您可以删除 MouseListener。
关于java - 如何禁用鼠标单击按钮操作事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15812915/