java swing 如何获取输入框中的内容?

机器学习之禅 2014-11-27 04:06:56
private JTextField getJTextFieldUser()
{
if (jTextFieldUser == null)
{
jTextFieldUser = new JTextField();
jTextFieldUser.setBounds(new Rectangle(200, 15, 200, 15));
}
return jTextFieldUser;
}

private JPanel getJContentPane()
{
if (jContentPane == null)
{
jLabelUser = new JLabel();
jLabelUser.setBounds(new Rectangle(15, 15, 150, 15));
jLabelUser.setText("登录帐号:");

jContentPane = new JPanel();
jContentPane.setLayout(null);

jContentPane.add(jLabelUser, null);


jContentPane.add(getJTextFieldUser(), null);


jContentPane.add(getJButtonInput(),null);

}
return jContentPane;
}


	private JButton getJButtonInput()
{
if (jButtonInput == null)
{
jButtonInput = new JButton();
jButtonInput.setText("输入完成");
jButtonInput.setSize(new Dimension(100, 28));
jButtonInput.setLocation(new Point(50, 350));
jButtonInput.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
chromeob.userId = mainFrame.jTextFieldUser.getText().trim();// 获取用户名

System.out.println(chromeob.userId);
// if (chromeob.userId.equals(""))
// {
// JOptionPane.showMessageDialog(null, "数据输入错误");
// }
// else
// {
// JOptionPane.showMessageDialog(null, "数据输入成功");
// }
}
});
}
return jButtonInput;
}


setContentPane(getJContentPane());

代码大概如上所述,现在我在输入框里输入用户名,点击输入完成,但是会出现空指针错误,说明值没有传进去啊?仍然是初始化的空值。
这个地方应该怎么写才能获取到手动输入的值呢?
...全文
17072 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
code小生 2014-11-28
  • 打赏
  • 举报
回复
调用getText()方法就是获取输入内容的,你如果把这做好了,还不行的话,那就是你的事件处理有问题。
乱泄霸气 2014-11-27
  • 打赏
  • 举报
回复
楼主这一手好污啊。
sayhiyang 2014-11-27
  • 打赏
  • 举报
回复
就是调用getText()方法就可以获取,你可能是其他地方有问题,我把你的代码测试了一下,可以获取值 public class Client extends JFrame{ private JTextField jTextFieldUser; private JPanel jContentPane; private JLabel jLabelUser; private JButton jButtonInput; public Client(){ this.setSize(806, 267); this.setLayout(null); this.add(getJTextFieldUser(), null); this.add(getJButtonInput(), null); this.setVisible(true); } private JTextField getJTextFieldUser() { if (jTextFieldUser == null) { jTextFieldUser = new JTextField(); jTextFieldUser.setBounds(new Rectangle(200, 15, 200, 15)); } return jTextFieldUser; } private JButton getJButtonInput() { if (jButtonInput == null) { jButtonInput = new JButton(); jButtonInput.setText("输入完成"); jButtonInput.setSize(new Dimension(100, 28)); jButtonInput.setLocation(new Point(50, 350)); jButtonInput.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { String userId = jTextFieldUser.getText().trim();// 获取用户名 System.out.println(userId); // if (chromeob.userId.equals("")) // { // JOptionPane.showMessageDialog(null, "数据输入错误"); // } // else // { // JOptionPane.showMessageDialog(null, "数据输入成功"); // } } }); } return jButtonInput; } public static void main(String[] args) { new Client(); } }
qzw1210 2014-11-27
  • 打赏
  • 举报
回复
这个问题很简单!你自己写的类继承JFrame,在类中定义JTextField name;JPasswordField password; 然后在类的构造函数里初始化这两个属性,然后添加到JFrame中, 获得值用name.getText();和password.getText();
思熊爷 2021-06-24
  • 举报
回复
@qzw1210 那如果说跳转到其他界面,其他界面逻辑功能怎么获取第一个界面输入框的text
  • 打赏
  • 举报
回复
gettext();

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧