java制作键盘界面_图形界面键盘事件问题 不懂哦

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

键盘事件不能用 鼠标事件可以 高手们帮我看看是怎么回事啊

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");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值