当前位置: 代码迷 >> J2SE >> java swing 怎么获取输入框中的内容
  详细解决方案

java swing 怎么获取输入框中的内容

热度:73   发布时间:2016-04-23 20:07:26.0
java swing 如何获取输入框中的内容?
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());

代码大概如上所述,现在我在输入框里输入用户名,点击输入完成,但是会出现空指针错误,说明值没有传进去啊?仍然是初始化的空值。
这个地方应该怎么写才能获取到手动输入的值呢?
------解决思路----------------------
gettext();
------解决思路----------------------
这个问题很简单!你自己写的类继承JFrame,在类中定义JTextField  name;JPasswordField  password;
然后在类的构造函数里初始化这两个属性,然后添加到JFrame中,
获得值用name.getText();和password.getText();
------解决思路----------------------
就是调用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();
}
}

------解决思路----------------------
调用getText()方法就是获取输入内容的,你如果把这做好了,还不行的话,那就是你的事件处理有问题。
  相关解决方案