
import java.awt.*
import java.awt.event.*
import javax.swing.*
public class KeyEventDemo extends JFrame implements ActionListener, KeyListener {
JTextField txt1
JButton btnOK
JPanel pnlMain
public KeyEventDemo() {
pnlMain = new JPanel()
setContentPane(pnlMain)
txt1 = new JTextField(10)
btnOK = new JButton("确认")
txt1.addKeyListener(this)//应该是在 TextField 里添加键盘监听事件
btnOK.addActionListener(this)//在按钮上添加事件监听
pnlMain.setLayout(new BorderLayout())//添加布局器
pnlMain.add(txt1,BorderLayout.NORTH)//TextField 布局在上方
pnlMain.add(btnOK,BorderLayout.SOUTH)//Button 布局在下方
setTitle("好啊")
setSize(300, 200)
setVisible(true)//viersible() 函数应该放在最后
setDefaultCloseOperation(EXIT_ON_CLOSE)
}
public void keyTyped(KeyEvent e) { //6
char c = e.getKeyChar()
if (c == 'o') {
System.out.println("快捷键 " + e.getKeyChar() + " 按下" )
txt1.setText("收到,呵呵")
}else{
System.out.println("普通键 " + e.getKeyChar() + " 按下" )
}
}
public void actionPerformed(ActionEvent event){
System.out.println("按钮按下")
}
public void keyPressed(KeyEvent e) {} //函数要和接口 KeyListener 中定义的一摸一样
public void keyReleased(KeyEvent e) {} //函数要和接口 KeyListener 中定义的一摸一样
public static void main(String[] args) {
new KeyEventDemo()
}
}
额,抽象类其实就是定义了一些接口但又没有去实现的类,这些类定义了接口等它的子类来实现,如果它的子类没有实现这些接口,那么这些子类也是抽象类。抽象类是不能用 new 的方式产生的。
你似乎问错了,应该问接口是啥子东西,接口是。。。。一大堆的东西好难策清楚,看看下面的链接吧,会受益良多的:
http://dev.yesky.com/436/7581936.shtml
addKeyListenerpublic void addKeyListener(KeyListener l)
添加指定的按键侦听器,以接收发自此组件的按键事件。如果 l 为 null,则不会抛出异常并且不执行动作。
java.awt.event
接口 KeyListener
用于接收键盘事件(击键)的侦听器接口。旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写有用的方法)。
然后使用组件的 addKeyListener 方法将从该类所创建的侦听器对象向该组件注册。按下、释放或键入键时生成键盘事件。然后调用侦听器对象中的相关方法并将该 KeyEvent 传递给它。
方法摘要
voidkeyPressed(KeyEvent e)
按下某个键时调用此方法。
voidkeyReleased(KeyEvent e)
释放某个键时调用此方法。
voidkeyTyped(KeyEvent e)
键入某个键时调用此方法。
1,为相应的控件设置KeyListener()的监听2,实现接口中的方法
3,主要重写keyPressed()这个方法
4,书写逻辑
5,见代码
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_1&&e.getKeyCode()==KeyEvent.VK_2){
System.out.println("1,2键被点击了。。。")
}
}ps,还可以自己写一个数组记录每个按键的状态,根据状态值进行逻辑处理。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)