java无法获得 JTextField 的输入值,用getText(),也没有用,我是菜鸟,请大神指点;

publicclassDen_luextendsJFrameimplementsActionListener{JPaneljp1;JLabeljlb1,jlb2,jlb3... public class Den_lu extends JFrame implements ActionListener{
JPanel jp1;

JLabel jlb1,jlb2,jlb3;
JButton jB1,jB2;
JTextField jtf1;
JPasswordField jpd1;

public static void main(String[] args) {
// TODO Auto-generated method stub
Den_lu den_lu=new Den_lu();

}
public Den_lu(){

jp1=new JPanel();
jp1.setSize(400, 250);
jp1.setLayout(null);
jp1.setVisible(true);
this.add(jp1);

JTextField jtf1=new JTextField();//这里是我想要的文本框
jtf1.setBounds(140, 110, 160, 25);
jp1.add(jtf1);

JButton jB1=new JButton("确 定");
jB1.addActionListener(this);
jB1.setBounds(110, 160, 80, 30);

jp1.add(jB1);

}
public void actionPerformed(ActionEvent e) {

if (e.getActionCommand().equals("确 定"))
{
String str=this.jtf1.getText();//点击确定后无效,还报错
System.out.println(str);

}

}
篇幅有限,请教各路大神指点迷津
展开
 我来答
artintin
推荐于2018-03-26 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7508
采纳率:80%
帮助的人:2852万
展开全部
在JTextField jtf1=new JTextField();
JButton jB1=new JButton("确 定");
应该为jtf1=new JTextField();
jB1=new JButton("确 定");

否则你在构造函数初始化的jtf1和jB1仅是各临时变量,
类成员变量的jtf1和jB1反而没有初始化,所以代码一定会报Null错误。
另外 e.getActionCommand().equals("确 定") 也可改为e.getSource()==jB1
A蒙德
2013-02-15 · TA获得超过169个赞
知道小有建树答主
回答量:218
采纳率:100%
帮助的人:101万
展开全部
你把这句
e.getActionCommand().equals("确 定")
换成
e.getSource() == jB1
就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
还是没有红
2013-02-15 · 超过17用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:50.1万
展开全部
楼下正解 !!
估计是你获得输入值之后 保存的问题吧........
建议检查你的保存部分 ..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式