ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

事件监听器:

事件监听器: 鼠标点击了按鈕算作一次事件监听系统会监听到这个事件发生了。发生之后需要调用的代码的我们自己写。事件监听接口动作监听器接口ActionListener 是一个实现处理事件类的模版实现一个事件处理类1创建一个新的类 实现 ActionListener 接口public class MyAction implments ActionListener{ }2: 将监听器接口中的方法复制到类中来 改分号为大括号public void actionPerformed(ActionEvent e){ }3: 在方法中加上点击按钮之后要执行的代码使用事件处理类1 回到按钮对象创建的地方创建一个事件处理类的对象2 使用按钮对象调用addActionListener 注册处理对象事件参数ActionEvent e记录事件发生时的相关信息package YPL0822; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MyAction implements ActionListener{ JTextField numJtf2; public void actionPerformed(ActionEvent e){ String ac e.getActionCommand(); System.out.println(点击了按鈕ac); if(ac.equals()){ } else if (ac.equals()||ac.equals(-)||ac.equals(×)||ac.equals(÷)) { }else{ String numStr numJtf2.getText(); String newStr numStrac; numJtf2.setText(newStr); } } }包括多点击按钮的文本所点击按钮的对象package YPL0822; import javax.swing.*; import java.awt.*; import java.util.concurrent.Flow; public class Calculator { static void main(){ Calculator cui new Calculator(); cui.showUI(); } public void showUI(){ JFrame jf new JFrame(); jf.setTitle(计算器); jf.setSize(400,380); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); FlowLayout flow new FlowLayout(); jf.setLayout(flow); Dimension jtfDim new Dimension(360,40); JTextField numJtf new JTextField(); numJtf.setPreferredSize(jtfDim); jf.add(numJtf); String[]btnTexts { √,x²,C,,7,8,9,-,4,5,6,÷,1,2,3,×,0,.,, }; Dimension btnDim new Dimension(85,40); Color bgColor new Color(78, 134, 244); Font font new Font(宋体,Font.BOLD,20); MyAction ma new MyAction(); ma.numJtf2 numJtf; for(int i 0;ibtnTexts.length;i){ JButton btn new JButton(btnTexts[i]); jf.add(btn); btn.setPreferredSize(btnDim); btn.setBackground(bgColor); btn.setFont(font); btn.addActionListener(ma); jf.setVisible(true); } } }
返回列表