我要监听一个Java的键盘事件。

方法:我有一个JTexeFiedl,要求客户一输入值就打印出来。并且每输入一次,监听事件只相应一次。voidkeyReleased(KeyEvente)释放某个键时调用此... 方法:
我有一个JTexeFiedl,要求客户一输入值就打印出来。
并且每输入一次,监听事件只相应一次。

void keyReleased(KeyEvent e)
释放某个键时调用此方法。 //相应三次,但我只要相应一次.
展开
 我来答
匿名用户
2013-10-19
展开全部
package maya;

import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JTextField;

/*
* 我有一个JTexeFiedl,要求客户一输入值就打印出来。
并且每输入一次,监听事件只相应一次。

void keyReleased(KeyEvent e)
释放某个键时调用此方法。
*/
public class test extends JFrame {
JTextField t;

public test() {
t = new JTextField();
this.setSize(100, 100);
this.setVisible(true);
this.add(t, new BorderLayout().CENTER);
t.addKeyListener(new kl());

}

class kl implements KeyListener {
private boolean flag = true;

public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub

}

@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
if (!flag) {
flag = true;
System.out.println("key Realsed");
}

}

@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
if (flag) {
System.out.println(e.getKeyChar());
flag = false;
}
}

}
public static void main(String args[]){
new test() ;
}

}
匿名用户
2013-10-19
展开全部
在你要产生时间的单元的事件中,选择keyPress事件,在产生的代码中编写你要实现的功能。
使用KeyEvent对象的getKeyChar()方法,获得按下键的字母
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-19
展开全部
请问下面的一段代码,如果才能实现监听,使按键按一下,上面文本有显示相应的数字.
import java.awt.*;
import javax.swing.*;
public class JiSuan extends JFrame
{
public JiSuan()
{
Container container=getContentPane();
container.setLayout(new BorderLayout());
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(4,3));
for(int i=1;i<=9;i++)
{
p1.add(new JButton(""+i));
}
p1.add(new JButton(""+0));
p1.add(new JButton("+/-"));
p1.add(new JButton("."));
JPanel p2=new JPanel(new BorderLayout());
p2.setLayout(new GridLayout(4,2));
p2.add(new JButton("/"));
p2.add(new JButton("sqrt"));
p2.add(new JButton("*"));
p2.add(new JButton("%"));
p2.add(new JButton("-"));
p2.add(new JButton("1/x"));
p2.add(new JButton("+"));
p2.add(new JButton("="));
JPanel p3=new JPanel(new BorderLayout());
p3.setLayout(new GridLayout(4,1));
p3.add(new JButton("MC"));
p3.add(new JButton("MR"));
p3.add(new JButton("MS"));
p3.add(new JButton("M+"));
JPanel p4=new JPanel(new BorderLayout());
p4.add(p3,BorderLayout.WEST);
p4.add(p1,BorderLayout.CENTER);
p4.add(p2,BorderLayout.EAST);
JPanel p5=new JPanel(new BorderLayout());
p5.setLayout(new GridLayout(1,3));
p5.add(new JButton("Backspace"));
p5.add(new JButton("CE"));
p5.add(new JButton("C"));
JPanel p6=new JPanel(new BorderLayout());
p6.add(new JTextField("0"),BorderLayout.NORTH);
p6.add(p5,BorderLayout.CENTER);
p6.add(p4,BorderLayout.SOUTH);
container.add(p6,BorderLayout.EAST);
container.add(new JButton("开发中..."),BorderLayout.CENTER);
}
public static void main(String[] args)
{
JiSuan ji =new JiSuan();
ji.setTitle("窗口布局");
ji.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ji.setSize(400,200);
ji.setVisible(true);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-19
展开全部
记录按键次数,就可以解决了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式