如何用java键盘监听事件设置用户只能输入数字或者小数点?

JAVA jtextfield中只可以输入数字或者小数,怎样实现~

JTextField text=new JTextField();
text.addKeyListener(new KeyListener(){

@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
text.setText(text.getText().replaceAll("[^0-9|\\.]", ""));
});
这就是一个只能输入数字或小数点的JTextField控件了

看 API:

http://docs.oracle.com/javase/7/docs/api/javax/swing/InputVerifier.html

我理解的你的目的是:
给一个JTextField或者JTextArea或者JTextPane添加一个KeyListener,使得当用户输入数字或者小数点的时候,对应的JTextComponent作出相应的改变,否则看起来不变。
既然是输入事件,代码放进KeyListener的KeyTyped里面。在初始化完成后,用户可以输入之前,就把JTextComponent里的值记录下来(例如记录在class变量valueTemp里)。以后在KeyTyped里面,取得JTextComponent此刻的值,然后检验是否满足条件。如果满足,将valueTemp设置为新的值,否则将JTextComponent的值改回valueTemp

JTextField text=new JTextField();
text.addKeyListener(new KeyListener(){

@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
text.setText(text.getText().replaceAll("[^0-9|\\.]", ""));
});
这就是一个只能输入数字或小数点的JTextField控件了

最关键的一句:
if(e.getKeyCode() == KeyEvent.VK_ENTER && e.isControlDown())

我写了一个测试程序你可以看看,快捷是Ctrl+Enter,打印出OK

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

import javax.swing.JFrame;

public class Test extends JFrame implements KeyListener {
Test() {
this.addKeyListener(this);
this.setBounds(0,0,100,100);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void keyPressed(KeyEvent e) {
// TODO 自动生成方法存根
if(e.getKeyCode() == KeyEvent.VK_K && e.isControlDown()){
System.out.println("OK");
}
}

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

public void keyReleased(KeyEvent e) {
// TODO 自动生成方法存根

}

public void keyTyped(KeyEvent e) {
// TODO 自动生成方法存根

}
}

如何用java键盘监听事件设置用户只能输入数字或者小数点?
答:给一个JTextField或者JTextArea或者JTextPane添加一个KeyListener,使得当用户输入数字或者小数点的时候,对应的JTextComponent作出相应的改变,否则看起来不变。既然是输入事件,代码放进KeyListener的KeyTyped里面。在初始化完成后,用户可以输入之前,就把JTextComponent里的值记录下来(例如记录在class变量valueTemp...

JAVA中如何实现键盘事件的监听?有哪个高手知道啊!!!
答:然后使用组件的 addKeyListener 方法将从该类所创建的侦听器对象向该组件注册。按下、释放或键入键时生成键盘事件。然后调用侦听器对象中的相关方法并将该 KeyEvent 传递给它。

我要监听一个Java的键盘事件。
答: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)释放某个键时调用此方法...

如何实现java在后台监听键盘
答:如果想要进行监听键盘,那么就需要获取到所使用操作系统给出的api接口,以windows系统为例,是用c和c++进行编写的,所以他们提供的api都是c和c++的api接口。于是用java的话就需要用到java的native方法,一个Native Method就是一个java调用非java代码的接口。所以3个步骤:1、引用java native方法。2、研究...

java中怎样用KeyListener写一个组合的键盘监听事件?
答:最关键的一句:if(e.getKeyCode() == KeyEvent.VK_ENTER && e.isControlDown())我写了一个测试程序你可以看看,快捷是Ctrl+Enter,打印出OK import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JFrame;public class Test ...

求教java键盘事件的监听...
答:让注册了键盘侦听器的TankMove获得焦点,在public TankMove()构造方法中加入this.setFocusable(true);

求助Java JTable 设置键盘输入监听的问题
答:1.鼠标右键点击的事件前加个if判断:if(canClick){ 鼠标点击事件事件 } 2.然后添加键盘事件implements KeyListener 在重写的方法的keyPressed中加入:if(e.getKeyCode()==KeyEvent.VK_CONTROL){ canClick=false;} 在重新的方法的keyReleased中加入:if(e.getKeyCode()==KeyEvent.VK_CONTROL){ can...

java监听键盘
答:import java.io.IOException;import java.io.OutputStreamWriter;import javax.swing.JFrame;import javax.swing.JOptionPane;public class KeyBoardListener extends JFrame { public KeyBoardListener() throws FileNotFoundException { this.setTitle("监听键盘事件");this.setSize(800, 600);this.setDefault...

java中如何处理键盘事件?
答:import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Example6_12 extends JFrame implements KeyListener{JButton b[]=new JButton[3];int x,y;public Example6_12(){setSize(300,300);setVisible(true);setLayout(new FlowLayout());for(int i=0;i<=2;i++)...

关于JAVA事件监听
答:1.this.setFocusable(true);加在构造函数最后,可以保证Frame可以响应键盘事件,但是按下按扭之后焦点转移,键盘事件不再被Frame响应,因此需要按Tab键重新让Frame得到焦点.(不推荐此方法,不知道按Tab键的用户就惨了...)2. 将键盘响应KeyListener分别注册给所有的Button.最后代码如下:import java.awt.*;impor...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网