---------------------------------------------------------------
需要通过他的document来管理。
class MyDocument extends PlainDocument{
int maxLength =10;
public MyDocument(int newMaxLength){
super();
maxLength = newMaxLength;
}
public MyDocument(){
this(10);
}
//重载父类的insertString函数
public void insertString(int offset,String str,AttributeSet a)throws BadLocationException{
if(getLength()+str.length()>maxLength){//这里假定你的限制长度为10
return;
}
else{
super.insertString(offset,str,a);
}
}
}
然后用这个类控制你的textfield.
JTextField jTextField1 = new JTextField1();
jTextField1.setDocument(new MyDocument(20));
就可以了.
其实你完全可以在MyDocument的那个insertString方法的中加入自己的判断.
比如,可以控制保证输入的是一个整数,或者浮点数什么的.
---------------------------------------------------------------
因为当你的jTextField通过键盘输入或者拷贝一个字符串的时候,他会调用他的document的insertString方法进行插入操作.
你在这个方法中进行控制的话,可以完全改变插入字符串的效果.比如,当文档的长度超过一定时,就不能插入,也就是什么都不作,直接返回.
还比如,当插入一个不合乎要求的字符串的时候,你仍然可以抛弃.
甚至,你可以做到,不管插入什么字符创,都可以在textfield框中显示你的名字什么的.
---------------------------------------------------------------
那你先
jTextField1.setDocument(new MyDocument());
试试.
---------------------------------------------------------------
哦.应该给MyDocument类写为Public.
或者把这个类写在你要使用的.java文件里边.
另外需要在前面
import javax.swing.text.*;
---------------------------------------------------------------
我试过了,完全可以.
你把上面写的MyDocument类写成一个public类,这样子的话需要一个MyDocument.java文件来保存它.编译.
然后在使用他的地方,把这个类import就可以.
只能输入数字:
class NumberListener extends KeyAdapter {
public void keyTyped(KeyEvent e) {
String numStr = "0123456789." + (char) 8;
if (numStr.indexOf(e.getKeyChar()) < 0) {
e.consume();
JOptionPane.showMessageDialog(null, "抱歉的告诉您:请输入(数字)", "系统提示",
JOptionPane.INFORMATION_MESSAGE);
}
}
}
分享到:
相关推荐
对JTextField限制只能输入数字,且在0至999范围内
扩展JTextField功能,使之能在输入一段字符后弹出下拉列表,在集合中匹配相似的信息,辅助完成整个输入,效果类似在订机票时输入目的地时辅助输入的形式.可在JTable中使用
我是netbeans(7.0.1)的新手。帮助我设置injTextField中的最大字符长度
原创:java封装了的JTextField,可以达到google输入框的效果:在输入框中输入一些字符即可联想。
实现圆角矩形边框,hint文字,主要代码: ... JTextField textField = (JTextField) c; if ("".equals(textField.getText())) { g2d.setColor(Color.BLACK); g2d.drawString("请输入文字...", 10, 18); }
i = jTextField1.getText().length(); Highlighter hilite = jTextArea1.getHighlighter();//获取负责进行高亮显示的对象 //Highlighter:一个允许用户用带有颜色的区域标出背景的对象接口 for (f = 0; f (); f++...
JTextField添加“自动完成”,代码简单强大
JTextField_Example.java
java JTextField组件的使用 java JTextField组件的使用 java JTextField组件的使用
NULL 博文链接:https://zhangqkunkun.iteye.com/blog/815897
NULL 博文链接:https://alog2012.iteye.com/blog/1628396
Text_JTextField.class
JTextField是Java Swing库中的一个组件类,用于接收用户的文本输入。
条形码扫描器 使JTextField与条形码扫描仪兼容的代码。 它可以用作常规的... Convertint输入表示将字符&é“((§è!çà)分别转换为1234567890。当扫描仪模拟键盘并将输入法设置为AZERTY时,此功能很有用。
在完成Swing的学习后,练习使用Swing包中JFrame、JButton、JLabel、JTextField、JMenu、JMenuItem等组件完成图形界面绘制。 前期能够独立思考并完成计算器的逻辑代码。 熟练使用JButton、JTextField、JLabel等...
一句话搞定限制textField输出,非常简单实用
文本框输入不合理数据时进行验证.rar文本框输入不合理数据时进行验证.rar
我想给您的文本增加一点可读性。您可以禁用JTextField:JTextField oText = new JTextField();...它将不接受任何此类输入。如何使用TextFields [^] EDIT:有点棘手-函数setEnable(boolean)是...
输入所有剩余的运算符和数字。\n"); help.append("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); aboutCal.addActionListener(this); helpMenu.add(topHelp); helpMenu.add(aboutCal); ...
实现信息检索功能 像百度的网页搜索框 搜索相关资源并可以选择并显示搜索结果 使用JTable作为搜索结果显示框 在网上找不到相关的资源 自已写了一个 这只是提供一个思路 如果有更好的想法 可以联系我 蛋疼的 Java***...