Java 中的文本框类仅接受整数
我只想做一个只接受整数的文本框类..
我已经做了一些事情,但我认为这还不够。
有人可以帮我吗? 谢谢...
import java.awt.TextField
public class textbox extends TextField{
private int value;
public textbox(){
super();
}
public textbox(int value){
setDeger(value);
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我认为你错过了这里的提示,用你的代码我仍然可以调用
textfield.setText("我不是数字");
I think you are missing the point here's a hint, with your code i can still call
textfield.setText("i'm not a number");
由于您必须使用
TextArea
,因此使用TextListener
可能会取得一些成功。添加一个侦听器,将输入的字符限制为数字。在伪代码中,事件方法可以执行以下操作:
JTextField
更容易做到这一点,因为您可以替换文档模型或仅使用JFormattedTextField
。Since you must use
TextArea
, you might have some success with aTextListener
. Add a listener that restricts the characters entered to just numbers.In pseudo code the event method could do this:
This is easier to do with a
JTextField
as you can replace the document model or just use aJFormattedTextField
.为什么要使用文本字段?你为什么不学习Swing而不是AWT,然后你就可以使用JTextField了。实际上,您可以使用支持此要求的 JFormattedTextField。阅读 API 并点击教程链接获取示例。
Why are you using a TextField? Why don't you learn Swing instead of AWT, then you can use a JTextField. Actually you can use a JFormattedTextField which support this requirement. Read the API and follow the link to the tutorial for examples.
当用户尝试输入非数字数据时,它会拒绝并删除非整数的输入。
这是测试课
When user try to enter non-numeric data, it rejects an deletes the input that is not an integer.
And this is the test class