class="java"> package testDemo1; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /* * 组件.addXXXListener(new XXXAdapter(){ * * public void methodname(XXXEvent e){} * * }); * * */ public class FrameTest { public static void main(String[] args) { Frame f = new Frame("我的第一个窗口");// 该窗口默认不显示 f.setSize(400, 600);// 设置窗口大小 f.setLocation(500, 50);// 设置窗口显示位置 f.setVisible(true);// 显示窗口 //添加一个按钮组件 Button but = new Button("my button");// 按钮设置为中文可能会出现乱码 f.setLayout(new FlowLayout());// 默认是边界式布局(按钮巨大),因此需要在主面板中设置布局 f.add(but);// 添加按钮到面板 //添加一个文本框组件 TextField tf = new TextField(40);//文本框的长度设置为40 TextField tf2 = new TextField(40);//第二个文本框 f.add(tf); f.add(tf2); but.addActionListener(new ActionListener() {// 按钮操作的监听器 @Override public void actionPerformed(ActionEvent e) {// 只有这样一个可重写的方法 System.out.println("按钮被触发" + e); } }); but.addMouseListener(new MouseAdapter() {//鼠标操作的监听器 @Override public void mouseClicked(MouseEvent e) { System.out.println("鼠标单击"); if(e.getClickCount() == 2) {//如果按键次数为2次 System.out.println("鼠标双击"); } } }); f.addWindowListener(new WindowAdapter() {// 窗口的监听器 @Override public void windowClosing(WindowEvent e) { System.out.println("窗口关闭");// 命令行输出窗口关闭 System.exit(0);// 关闭进程(这两行代码顺序不能颠倒) } }); tf.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { char key = e.getKeyChar(); int code = e.getKeyCode(); System.out.println("按下的按键是:"+key);//这样只能输出ABCD等按键 System.out.println("按下的按键是:"+KeyEvent.getKeyText(code));//这样可以输出其他按键 System.out.println("按键的ASCII码是"+code); } }); tf2.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { int code = e.getKeyCode(); if(!(code >= KeyEvent.VK_0 && code <= KeyEvent.VK_9)) {//如果按键不是0-9(非小键盘) System.out.println("必须是0-9的数字"); } } }); } }