【发布时间】:2014-01-14 22:52:56
【问题描述】:
如何检查 JButton 是否被按下?我知道有一个方法叫“isEnabled”
所以我尝试编写代码进行测试。
- 此代码有 2 个 Jbutton,分别是“添加”按钮和“结帐”按钮。
- 当我按下“添加”按钮后按下“结帐”按钮时,代码将显示“按下添加按钮”消息,但如果在按下“结帐”按钮之前未按下“添加”按钮,则代码将显示“未按下添加按钮”消息。
代码如下:
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");
}
}
});
当我运行此代码时,尽管我没有按下“添加”按钮,但代码只给出了“按下添加按钮”。为什么会这样?
【问题讨论】:
-
初始化后btnAdd.setEnabled(false);
-
检查是否按下的目的究竟是什么?侦听器仅注册到一个按钮,因此只需执行所需的操作而不检查任何内容
-
@peeskillet 如何在不添加任何内容的情况下结帐!!
-
@iShaalan,你是什么意思?
-
@peeskillet 确切地说,如果它被删除了怎么办? :))