如何检查 JButton 是否被按下?如果 isEnable() 不起作用?

2024-02-16

如何检查 JButton 是否被按下?我知道有一个方法,其名称是“isEnabled”

所以我尝试写一段代码来测试一下。

  1. 这段代码有 2 个 Jbutton,分别是“Add”按钮和“Checkout”按钮。
  2. 当我按下“添加”按钮后按下“结帐”按钮时,代码将显示“添加按钮已按下”消息,但如果在按下“结帐”按钮之前未按下“添加”按钮,则代码将显示“未按下添加按钮”消息。

这里是代码:

final JButton btnAdd = new JButton("Add");
btnAdd.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
    }
});
panel.add(btnAdd);
JButton btnConfirm = new JButton("Check Out");
btnConfirm.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        if (btnAdd.isEnabled()) {
            System.out.println("Add Button is pressed");
        }
        if (!btnAdd.isEnabled()) {
            System.out.println("Add Button is not pressed");
        }
    }
});

当我运行此代码时,尽管我没有按“添加”按钮,但该代码仅给出“已按下添加按钮”。为什么会出现这样的情况呢?


JButton has a model http://docs.oracle.com/javase/7/docs/api/javax/swing/DefaultButtonModel.html它回答了这些问题:

  • isArmed(),
  • isPressed(),
  • isRollOVer()

等等。因此,您可以向模型询问您正在寻求的答案:

     if(jButton1.getModel().isPressed())
        System.out.println("the button is pressed");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 JButton 是否被按下?如果 isEnable() 不起作用? 的相关文章

随机推荐