如何在java中设置jLabel不可读取

如何在java中设置jLabel不可读取,java,onclick,jlabel,Java,Onclick,Jlabel,我使用jlabel而不是jButtons。我需要在if条件内设置一个jLabel不可勾选 if(customerId==0){ lblCustomerName.setText("0"); //Set the jLabel unclickable } else{ //Set the jLabel clickable } 我已经试过了 lblContinue.setEnable(false); 但是它不起作用。您可以使用全

我使用jlabel而不是jButtons。我需要在if条件内设置一个jLabel不可勾选

if(customerId==0){
        lblCustomerName.setText("0");
        //Set the jLabel unclickable
    }
    else{

        //Set the jLabel clickable
    }
我已经试过了

lblContinue.setEnable(false);

但是它不起作用。

您可以使用全局布尔值在MouseStener中打开和关闭函数

    private void lblCustomerNameMouseClicked(java.awt.event.MouseEvent evt) {                                     
    if(booleanIsTrue)
    {
      //Do the Code when click enabled  
    }
    else
    {
        evt.consume();
    }
} 

您可以删除和添加鼠标侦听器

MouseListener[] mouseListeners = lblCustomerName.getMouseListeners();
    for (int i = 0; i < mouseListeners.length; i++) {
        lblCustomerName.removeMouseListener(mouseListeners[i]);
    }
MouseListener[]mouseListeners=lblCustomerName.getMouseListeners();
for(int i=0;i
用户通常只能通过查看jLabel来与jLabel交互,所以当您说希望标签“不可读取”时,您的意思是什么?当用户试图点击你的标签时,你想让一个小尤达跳入GUI并用他的小光剑击退鼠标指针吗?不,事实上,当用户点击它时,我不想做任何事情,尽管它有一个onMouseClick事件。如果你不想用它做任何事情,请考虑删除鼠标侦听器。或者,如果您坚持使用鼠标侦听器,请将onClick处理程序留空。但是,如果您创建了一个小Yoda来警告您的用户,请给我一个我的收藏的屏幕截图。您是否希望
lblContinue.setFocusable(false)
?我也不确定当用户单击您试图阻止的JLabel时,当前正在发生什么。根据您的结构,您应该根据需要简单地设置标志true或false,并在MouseListener中检查标志。如果有多个标签注册到一个MouseListener,则可以使用clientProperty属性维护组件本身的标志