该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
键盘事件不能用 鼠标事件可以 高手们帮我看看是怎么回事啊
package study;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
public class Frametest extends JFrame implements ActionListener{
//声明对象
JButton jb=null;
JButton jb2=null;
cat c=null;
cat2 c2=null;
//mypanel mp=null;
//构造函数
public Frametest(){
//创建对象
jb=new JButton("1");
jb2=new JButton("2");
c=new cat();
c2=new cat2();
//mp=new mypanel();
//注册监听
jb.addActionListener(this);
jb2.addActionListener(this);
this.addMouseListener(c);
this.addKeyListener(c2);
//要添加的对象
this.add(jb);
this.add(jb2);
//this.add(mp);
//设置布局管理器
this.setLayout(new FlowLayout());
//设置界面的属性
this.setBounds(100, 100, 500, 400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//主函数
public static void main(String[] args){
Frametest ft=new Frametest();
System.out.println("aa"); //这句话会先被执行
}
//接口的方法
@Override
public void actionPerformed(ActionEvent e) {
String s=e.getActionCommand();
if(s=="1"){
System.out.println("button1");
}if(s=="2"){
System.out.println("button2");
}
}
}
class cat implements MouseListener{
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("cat mouse clicked");
}
@Override
public void mouseEntered(MouseEvent e) {
System.out.println("cat mouse entered");
}
@Override
public void mouseExited(MouseEvent e) {
System.out.println("cat mouse exited");
}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("cat mouse pressed");
}
@Override
public void mouseReleased(MouseEvent e) {
System.out.println("cat mouse released");
}
}
class cat2 implements KeyListener{
@Override
public void keyPressed(KeyEvent e) {
System.out.println("key pressed"+e.getKeyChar()+" "+e.getKeyCode());
}
@Override
public void keyReleased(KeyEvent e) {
System.out.println("key released");
}
@Override
public void keyTyped(KeyEvent e) {
System.out.println("key typed");
}
}