如果用户单击一个被禁用的按钮JAVA,是否可以向用户提示错误消息

如果用户单击一个被禁用的按钮JAVA,是否可以向用户提示错误消息,java,swing,jbutton,actionlistener,Java,Swing,Jbutton,Actionlistener,如果用户单击禁用的按钮,是否可以向用户提示错误消息。e、 g JButton button = new JButton(); button.addActionListener(this); public void actionPerformed(ActionEvent e) { if(buttonClicked.getSource()== button){ button.setEnabled(false); } } 现在,当用户单击按钮时,按钮将被

如果用户单击禁用的按钮,是否可以向用户提示错误消息。e、 g

   JButton button = new JButton();
   button.addActionListener(this);
   public void actionPerformed(ActionEvent e) {

   if(buttonClicked.getSource()== button){
    button.setEnabled(false);
   }
   }

现在,当用户单击按钮时,按钮将被禁用。一旦按钮被禁用,并且用户再次单击按钮,我希望弹出一条错误消息,说“您不能再次单击我”

即使组件被禁用但可见,鼠标侦听器也可以工作。你可以试着使用类似

button.addMouseListener(new MouseAdapter() {// MouseAdapter is empty implementation
                                            // of MouseListener
    @Override
    public void mouseClicked(MouseEvent e) {
        JButton b = (JButton) e.getSource();
        if (!b.isEnabled())
            System.out.println("you cannot click me again");
    }
});

下面是一个更完整的代码示例

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);

final AtomicBoolean justEnabled = new AtomicBoolean(false);
final JButton button = new JButton("click");

button.addMouseListener(new MouseAdapter() {

    @Override
    public void mouseClicked(MouseEvent e) {
        JButton b = (JButton) e.getSource();
        if (!b.isEnabled())
            if (justEnabled.get())
                justEnabled.set(false);
            else
                System.out.println("you cannot click me again");
    }

});

button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        JButton b = (JButton) e.getSource();
        b.setEnabled(false);
        justEnabled.set(true);
    }
});

JButton enabler = new JButton("enable");
enabler.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
        button.setEnabled(true);
    }
});

frame.setLayout(new FlowLayout());
frame.add(button);
frame.add(enabler);
frame.setVisible(true);

代码中可能有一个标志用于启用按钮,该按钮触发“我已禁用”消息的显示。否。被禁用的组件不接受输入,因此不会触发事件。但是,如果按钮已被禁用,并且用户单击该按钮,则该操作将不起作用。如果按钮被禁用,并且用户单击该按钮,则不会发生任何事。但是,如果按钮被启用,它可以很容易地显示一条消息,说“我被禁用”。您好,谢谢,我在“button.addMouseListener”(new MouseAdapter()中的button变量上得到一个错误“这个变量代表什么?很难说。你能说一些关于错误的更多信息吗?你是否将import添加到
MouseAdapter
,它将是
import java.awt.event.MouseAdapter;
?它的下划线是红色的,当我将鼠标悬停在上面时,它会在放置此代码的位置上显示‘按钮不能重新滑动’?它是否在同一个位置?”velas
按钮。addActionListener(this);