swing Java ActionListener未拾取按钮
这是带有操作侦听器的按钮的代码:
JButton btnAddChild = new JButton("Add Child");
btnAddChild.addActionListener(this.controller);
formPanel.add(btnAddChild);
以下是我的操作侦听器中的代码:
else if(e.getActionCommand().equals("Add Child")){
System.out.println("Hello");
try {
model.addChild(child.getFirstname(), child.getSurname(), child.getDOB(), child.getAddress(),
child.getGender(), child.getAllergy(), child.getInfo());
} catch (Exception exc) {
// TODO Auto-generated catch block
exc.printStackTrace();
}
}
出于某种原因,它甚至不会打印“Hello”一行,所以我知道动作监听器没有被调用,我不知道为什么??请帮忙:)
# 1 楼答案
而不是使用
(不确定它是如何声明或初始化的)尝试创建一个全新的动作侦听器作为参数,只是为了测试它。例如,如果您将动作侦听器定义为
然后你可以像这样把动作监听器添加到按钮中
正如在另一个答案中提到的,这可能是你的条件陈述的一个问题。试着把打印语句放在动作监听器的第一件事上
# 2 楼答案
下面是一个带有ActionListener的基本退出按钮。当您使用多个侦听器时,您应该按如下方式放置@Override注释。你甚至可以覆盖你创建的第一个ActionListener