请教Java Swing高手一个简单的“jtf.getText()”“强制”为“""”的错误。

高手,小弟的核心代码现场如下:jp.add(jtf,BorderLayout.NORTH);jp.add(jtf0,BorderLayout.SOUTH);jp.add(... 高手,小弟的核心代码现场如下:jp.add(jtf,BorderLayout.NORTH); jp.add(jtf0,BorderLayout.SOUTH); jp.add(jb,BorderLayout.EAST);// jp.add(jb0,BorderLayout.WEST); this.add(jp); this.setBounds(new Rectangle(200,100,400,200)); this.setVisible(true); jb.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub try{ String str = jtf.getText(); jtf.setText("");// jta.setText(str); String str0 = jtf0.getText(); if(str0!=""){ System.out.println("abc"); } str1 = jtf.getText(); port = Integer.parseInt(str1); new TestInit(str0,port); }catch(Exception e2){ e2.printStackTrace(); } }});小弟运行代码后,得到的结果如下图一:小弟在jtf中填写了端口号:“8888”,在jtf0中填写了ip地址“127.0.0.1”,后,点击图中的“JButton按钮”,后,得到下面的图二的场景:小弟点击图二中的“下一步点击报错行”,(第4行报错),得到下面图三的结果:小弟求高人点拨:小弟的代码现场,错在哪里?应当如何修改? 展开
 我来答
不落的太阳Sean
2016-12-09 · TA获得超过281个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:178万
展开全部
String str = jtf.getText();
jtf.setText("");
这里: 在获得之后你马上把值置为""
追问
seanyang1984哥哥,您好:
小弟在获得了jtf中的值后,再把jtf的值,设置为空,“""”,有什么不可以的呢?
还请seanyang1984大哥,能够点拨!!
谢谢尊敬的seanyang1984大哥!!
追答

String str = jtf.getText();
jtf.setText(""); === 设置为空
// jta.setText(str);
String str0 = jtf0.getText();
if(str0!=""){
System.out.println("abc");
}
str1 = jtf.getText(); ===再次获得时,这个值为空,是你上边设置的""
port = Integer.parseInt(str1); == str1为""则导致NumberFormatException

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-11-08
展开全部
ly reunions, submit
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2017-10-28 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
做类型转换之前,判断一下是否0长度的字符串
~~~~~~~~~~~~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
优质内容提供者andy
2017-10-11 · TA获得超过1561个赞
知道大有可为答主
回答量:2551
采纳率:72%
帮助的人:763万
展开全部
空字符串怎么转换成整数呢 是转换的时候出错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式