java 中JTextField中得到的怎么转换成String类型?

下边是部分代码:RegistView类中的初始化部分:publicstaticJTextFieldjf_user=newJTextField();RegistView类中... 下边是部分代码:

RegistView类中的初始化部分:

public static JTextField jf_user = new JTextField();
RegistView类中的部分:
jf_user.addActionListener(new RegiView());
RegiView(另一个类)
private String str_user = RegistView.jf_user.getText();
System.out.println(str_user); 这句为什么打不出来

System.out.println(RegistView.jf_user.getText()); 而这句为什么能打出来
展开
 我来答
大菜篮子
推荐于2016-02-26 · TA获得超过762个赞
知道小有建树答主
回答量:83
采纳率:100%
帮助的人:128万
展开全部
咋一看还真搞不清为什么,因为先赋值再打印和直接打印没区别的。
本着对楼主信任+负责的态度,仔细看看看!!!!!

private String str_user = RegistView.jf_user.getText();

有private?那一定是field,也就是在构造方法执行的时候执行这条语句, 这实际上就是addActionListener的时候,显然得不到东西。

而,我猜你System.out.println(str_user);、System.out.println(RegistView.jf_user.getText()); 都是在actionPerform方法里执行的,前者由于刚才说的str_user获取时机有问题,当然打印不出东西(实际上是“”)。后者则直接取文本,这时候是动作发生时,有文本的。

楼主,你把这些隐藏的这么深,是专门考验我们的么??
追问
谢谢回复啊,你的讲解很好
百度网友079a595a5
推荐于2018-04-11 · 超过19用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:46万
展开全部
private String str_user = RegistView.jf_user.getText();
这句话说明你的 str_user是在类初始化的时候赋值的,那时候RegistView.jf_user.getText();取不到字符串
所以你应该在使用时再调用下面这句
str_user = RegistView.jf_user.getText();
然后
System.out.println(str_user);
就可以了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
819793859
2015-10-18 · TA获得超过602个赞
知道小有建树答主
回答量:499
采纳率:40%
帮助的人:264万
展开全部
第一步,新建一个JTextField:
JTextField jtf = new JTextField();
第二步,获取字符串:
String str = jtf.getText();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ja灬耗子灬va
2015-11-07
知道答主
回答量:31
采纳率:0%
帮助的人:11.2万
展开全部
使用getText()方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式