| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 437 人关注过本帖
标题:找了半天没找到,给说下
只看楼主 加入收藏
anndy_ht
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-1-17
收藏
 问题点数:0 回复次数:8 
找了半天没找到,给说下
在单行输入框内怎么样只能输入0-9的数字,别的都丢弃!
搜索更多相关主题的帖子: 怎么样 
2007-03-05 21:46
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
import javax.swing.text.PlainDocument;
import javax.swing.text.BadLocationException;
import javax.swing.text.AttributeSet;
import javax.swing.JTextField;
import javax.swing.JFrame;
import java.awt.BorderLayout;

public class InsertNumberTest extends JFrame{
private JTextField jtfNumber;

public InsertNumberTest(){
setTitle("numberTextField");
jtfNumber=new JTextField();
jtfNumber.setDocument(new NumberDocument());
getContentPane().add(jtfNumber,BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(150,80);
setVisible(true);
}

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


class NumberDocument extends PlainDocument{
public void insertString(int off,String str,AttributeSet attr) throws BadLocationException{
if(str==null) return;
int c=0;
char[] chars=str.toCharArray();
for(int i=0;i<chars.length;i++){
if(Character.isDigit(chars[i])){
chars[c++]=chars[i];
}
}
super.insertString(off,new String(chars,0,c),attr);
}
}

我的msn: myfend@
2007-03-05 22:19
anndy_ht
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-1-17
收藏
得分:0 
谢了!
2007-03-05 22:37
anndy_ht
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-1-17
收藏
得分:0 
今天看了下API我发现这样可以做了,不过还是谢谢楼上的回复
public void jTextField1_keyTyped(KeyEvent e) {
if (e.getKeyChar()<'0' || e.getKeyChar()>'9') {
e.setKeyChar('\0');
return;
}
2007-03-06 22:25
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
楼上的方法也不错

可惜不是你,陪我到最后
2007-03-06 22:38
ILoveMK
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:487
专家分:0
注 册:2007-2-12
收藏
得分:0 
public void jTextField1_keyTyped(KeyEvent e) {
if (e.getKeyChar()<'0' || e.getKeyChar()>'9') {
e.setKeyChar('\0');
return;
}
有这个方法吗??具体怎么调用??KeyEvent 参数怎么传进去??

天下归心
2007-03-06 22:49
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
自己在keyTyped方法里面调用这个方法

可惜不是你,陪我到最后
2007-03-06 22:51
ILoveMK
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:487
专家分:0
注 册:2007-2-12
收藏
得分:0 
原来是keyTyped,我还以为jdk1.6中有jTextField1_keyTyped这个方法呢,呵呵。

天下归心
2007-03-06 22:58
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
呵呵,怎么可能会有这样的方法呢,标准API是不会这样命名的

可惜不是你,陪我到最后
2007-03-06 23:00
快速回复:找了半天没找到,给说下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020045 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved