我要监听一个Java的键盘事件。
方法:我有一个JTexeFiedl,要求客户一输入值就打印出来。并且每输入一次,监听事件只相应一次。voidkeyReleased(KeyEvente)释放某个键时调用此...
方法:
我有一个JTexeFiedl,要求客户一输入值就打印出来。
并且每输入一次,监听事件只相应一次。
void keyReleased(KeyEvent e)
释放某个键时调用此方法。 //相应三次,但我只要相应一次. 展开
我有一个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() ;
}
}
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()方法,获得按下键的字母
使用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);
}
}
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
展开全部
记录按键次数,就可以解决了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询