动作监听器:
- 按钮类的作无从得知我们使用按钮类创建的对象用于什么样的功能
- 但是他知道这个按钮可以被点击,但是又不知道点击后会执行什么样的代码
- 故点击之后执行的代码需要我们自己实现,底层实现了一个调用的逻辑:点击按钮,就会调用一个固定名字的方法 但是这个方法没有任何内容
-
ActionListener 动作监听器:
- 需要处理点击按钮这个事件的类,,这个类需要先实现ActionListener这个interface
- 使用这个类创建一个对象 并注册到需要监听的按钮上,点击按钮就会调用这个固定方法
-
实现步骤:
- 创建一个新的类 实现ActionListener public class BtnAction implements ActionListener{ }
- 将ActionListener中的方法复制到这个类中,改分号为大括号 public void actionPerformed(ActionEvent e){ }
- 在这个方法中 我们就可以编写按钮点击之后需要执行的代码 System.out.println("Hello 按钮被点击了");
- 在showUI方法中,创建一个BtnAction的对象 BtnAction btnAction=new BtnAction( );
- 使用按钮对象的addActionListener方法添加这个对象 btn0.addActionListener(btnAction);
- 使用一个监听器实现多个按钮的监听与区别:
- ActionEvent e:动作事件参数
- 点击按钮:就是一个事件 动作事件记录电击按钮相关的数据和信息 eg:e.getActionCommand( );
- 将界面上的输入框对象 传一份给监听器中使用
- 在监听器中创建一个空的输入框对象变量名
- 在showUI方法的最后 使用监听器对象调用numJtf2=numJtf
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class BtnAction implements ActionListener{
JTextField numJTF2=null;
public void actionPerformed(ActionEvent e){
System.out.println("按钮被点击了");
String btnText=e.getActionCommand();
System.out.println(btnText);
if (btnText.equals("C")){
numJTF2.setText("");
}else if (btnText.equals("+")){
} else if (btnText.equals("-")){
}else if (btnText.equals("*")){
}else if (btnText.equals("/")){
}else if (btnText.equals("=")){
}else{
String oldStr=numJTF2.getText();
numJTF2.setText(oldStr+btnText);
String numStr=numJTF2.getText();
int num=Integer.parseInt(btnText);
}
}
}