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的数字");
}
}
});
}
}
XXXListener监听器
最新推荐文章于 2025-08-08 22:01:10 发布