请教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行报错),得到下面图三的结果:小弟求高人点拨:小弟的代码现场,错在哪里?应当如何修改?
展开
4个回答
展开全部
String str = jtf.getText();
jtf.setText("");
这里: 在获得之后你马上把值置为""
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
做类型转换之前,判断一下是否0长度的字符串
~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空字符串怎么转换成整数呢 是转换的时候出错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询