社区
Java SE
帖子详情
TextField的响应问题
stone1982
2005-04-14 08:21:59
我想问的是在向TextField中输入字符串的时候,是哪个函数在监听这个动作,我想在对其进行操作的同时,判断输入字符串的合法性。
...全文
162
4
打赏
收藏
TextField的响应问题
我想问的是在向TextField中输入字符串的时候,是哪个函数在监听这个动作,我想在对其进行操作的同时,判断输入字符串的合法性。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tomcatjava
2005-04-14
打赏
举报
回复
下面是只输入数字的JTextField的例子,作参考先:
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
public class JNumberField extends JTextField
{
private numDoc doc = null;
public JNumberField()
{
super(3);
setDocument( doc = new numDoc());
}
public JNumberField(int maxLen)
{
super();
setDocument( doc = new numDoc(maxLen));
}
public void setMaxLen( int maxLen ) {
doc.setMaxLen( maxLen );
}
public int getMaxLen() {
return doc.getMaxLen();
}
public static void main( String args[] ) {
JFrame f = new JFrame("Only input number characters" );
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
Container c = f.getContentPane();
JNumberField test;
c.add( test = new JNumberField(),BorderLayout.NORTH );
c.add( new JNumberField(),BorderLayout.CENTER );
c.add( new JNumberField( 10 ),BorderLayout.SOUTH );
test.setMaxLen( 5 );
f.pack();
f.show();
}
}
class numDoc extends PlainDocument
{
int maxLength = 3;
public numDoc(){}
public numDoc(int maxLen)
{
maxLength = maxLen;
}
public void setMaxLen( int maxLength ) {
this.maxLength = maxLength;
}
public int getMaxLen() {
return maxLength;
}
public void insertString( int offset,String s,AttributeSet a ) throws BadLocationException //你可以在这里进行修改以适合你的要求
{
int len = getLength();
String str =getText(0,len);
if ( (str+s).length() > maxLength
|| ( str.trim().equals("0") && !s.substring(0,1).equals(".") && offset != 0 )
)
{
Toolkit.getDefaultToolkit().beep();
return;
}
try
{
Integer.parseInt( str+s );
}
catch ( Exception e )
{
Toolkit.getDefaultToolkit().beep();
return;
}
super.insertString(offset,s,a);
}
}
stone1982
2005-04-14
打赏
举报
回复
谢谢楼上的,
不知道你看出来没有,我就是刚才问字符串问题的那个小子,问一下是实现ActionListener接口后,在给TextField添加addKeyListener方法吗?
飞行的兔子
2005-04-14
打赏
举报
回复
这个还是用KeyListener来监听按键事件比较好!
Z_Beginner
2005-04-14
打赏
举报
回复
你可以通过按键加上TextField的值的变化来监听。
PAT A 1033 To Fill or Not to Fill (25 分)
一、思路 (一)最低油价方案: 1.若前面有一个价格比本站便宜的油站,那就去那边加更便宜的油,且只在本站加够到达低价油站的油; 2.若前面油站都比本站要贵,说明本站的油是当前最便宜的,要把油加满,下一个目的地的前面一段路上相对最便宜的油站。 (二)逻辑: 有两种情形:下一个目的地是油站,或下一个目的地是终点。 1.下一个目的地是油站的情况: (1)若前方存在价格更便宜的油站,且在可达范围内,且比终...
PAT A1033 To Fill or Not to Fill (25 分) 贪心 模拟
题目大意:给出N个加油站的油费以及距离出发点的距离,汽车油箱有容量上限,求出从出发点到达目的地的最少油费。如果不能到达目的地,输出最远能到达的距离。 个人觉得是相当复杂的一个模拟题,单步跟踪了好几次逻辑才写完整,考察的主要是贪心策略。要点列举如下: ① 目的地也作为一个加油站,油费为0,这样能保证在查找最低油费的加油站时一定能查找到目的地。 ② 在当前所在的加油站往后看,在能...
PAT A1033 To Fill or Not to Fill (25分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805458722734080 题目描述 With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a...
PAT A 甲级 1033 To Fill or Not to Fill (25分)
1033 To Fill or Not to Fill (25分) 吐槽 花了好一会儿才反应过来tank是油箱不是坦克。还以为又battle over cities了。 然后这题目很憨。这测点更憨。当然最憨的还是花了这么久才解决这道题的我。 思路 首先到不了的那种情况,很好处理,只要从距离0的站开始第一次发现两相邻站距离大于满油就输出该站距离+满油箱可走长度即可(测点2坑警告,见之后测点部分)。 ...
PAT A1033. To Fill or Not to Fill (25)
原文链接: PAT A1033. To Fill or Not to Fill (25) ...
Java SE
62,622
社区成员
307,252
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章