问题:
(用的是Eclipse开发工具)
在一个类Login JFrame设计窗体上面有:
                       账号:___________________
                       密码:___________________                           确定          取消
运行的时候我在"账号"里面输入:wewen
              "密码"里面输入:12345
怎样在另一个类CheckMonney提取到这两个输入文本的信息,就是在这个CheckMoney类里面获取Login类中
新输入”账号“和”密码“文本。
各位大虾帮帮忙!详细一点!!!菜鸟理解一下!!!在线等!!!谢谢了!

解决方案 »

  1.   

    在login写个公有函数返回getText()  在另一个CheckMoney类中调用..
      

  2.   

    写了  但是出现错了
    源代码部分:
    public class LoginManager extends JFrame { private JPanel contentPane;
    private JTextField textField;
    private JPasswordField passwordField; /**
     * Launch the application.
     */
    String user1 = textField.getText();
    public  String getUser()
    {
    return user1;
    }
    String password1 = new String(passwordField.getPassword());
    public String getPassword()
    {
    return password1;
    }
    出现错误 ——————空指针
    java.lang.NullPointerException
    at jmi.edu.test.LoginManager.<init>(LoginManager.java:33)
    at jmi.edu.test.LoginManager$1.run(LoginManager.java:47)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    麻烦详细一点   
    谢谢
      

  3.   

    import javax.swing.*;
    public class LoginManager extends JFrame { private JPanel contentPane;
     private JTextField textField;
     private JPasswordField passwordField;
     String user1 = textField.getText();
     public String getUser()
     {
     return user1;
     }
     String password1 = new String(passwordField.getPassword());
     public String getPassword()
     {
     return password1;
     }
    }
    没有出现什么错误呢?
      

  4.   


    /*Login.java*/
    public class LoginManager extends JFrame {
    private JPanel contentPane;
    private JTextField textField;
    private JPasswordField passwordField;
    ClientReceive recvThread;
    String user1 = textField.getText();
    String password1 = new String(passwordField.getPassword());
    recvThread = new ClientReceive(user1,password1);
    recvThread.start();
    /*CheckMoney.java*/public class CheckMoney extends Thread {
        JTextField username;
        JTextField password;
    public CheckMoney(JTextField username, JTextField password){
            this.username = username;
            this.password = password;
    /
      

  5.   

    回复#6楼:
            还得创建类 ClientReceive?
            还是什么接口?
      

  6.   

    回复#6楼:
      还得创建类 ClientReceive方法start()?
      还是什么接口? 
      

  7.   

    呵呵呵,不好意思了,我也是正在做东西——聊天室,路过这里看见你的问题,就顺便看看了
    我见我也用到这样的处理方式,所以就复制粘贴加修改发给你了,,,
    /*Login.java*/
    public class LoginManager extends JFrame {
    private JPanel contentPane;
    private JTextField textField;
    private JPasswordField passwordField;
    ClientReceive recvThread;
    String user1 = textField.getText();
    String password1 = new String(passwordField.getPassword());
    recvThread = new CheckMoney(user1,password1);
    recvThread.start();
    /*CheckMoney.java*/public class CheckMoney extends Thread {
        JTextField username;
        JTextField password;
    public CheckMoney(JTextField username, JTextField password){
            this.username = username;
            this.password = password;
    /
      

  8.   

    呃,,,,,
    “ClientReceive recvThread;”改为“CheckMoney recvThread;”
      

  9.   

    Thread是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。 
    start()是Thread下的函数
    start()使该线程开始执行;Java 虚拟机调用该线程的 run 方法。
      

  10.   

    String password1 = new String(passwordField.getPassword());在这句后面出现  红线还是有错误!!!
      

  11.   

    话说你的这句:String password1 = new String(passwordField.getPassword());你是不是对密码那个文本字段处理过了啊?(比如说你输入密码的时候,显示回来的格式是 *******)
    要是用户名,密码这两个文本字段都是明文的话,
    那就改为:String password1 = pasawordtField.getText();
      

  12.   

    不过不管你处理没处理过,都改为:String password1 = pasawordtField.getText();试试吧,,,
      

  13.   

    还是不行
    提示让从新创建pasawordtField类
     
      

  14.   

    我的另一个窗体类  CheckMoney类中已经有了
    public class CheckMoney extends JFrame {
    这语句了我只是将你的代码中的:
    放进
    public class CheckMoney extends JFrame {
     JTextField username;
        JTextField password;
    public CheckMoney(JTextField username, JTextField password){
            this.username = username;
            this.password = password;
    }
    然后将其中的三个username改成user1
        将其中的三个password改成password1
      

  15.   

    我晕,我看错了你的那个密码字段属性了,你的密码字段是属性是jPasswordField。
    那你要用getPassword()返回此 中所包含的文本。 String getText() 
              已过时。 从 Java 2 platform v1.2 开始,由 getPassword 来代替。 
     String getText(int offs, int len) 
              已过时。 从 Java 2 platform v1.2 开始,由 getPassword 来代替。 
      

  16.   


     String pwd=String.valueOf(jPasswordField1.getPassword());这句可以得到你输入的密码内容,比如你输入的是:4512,那pwd得到的也是4512
      

  17.   

    你登QQ吧,我发给API 文档给你
      

  18.   

    我是想在另一个类CheckMoney里面得到password的值
    然后进行验证查询  取出个用户的 余额的
      

  19.   

    不是在  Login类窗体界面得到password的
      

  20.   

    我换了一种方法实现窗体间传参   /*login.java*/
       static String username;
       static String password;
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            CheckMoney temp;
            username = jTextField1.getText();
            password=String.valueOf(jPasswordField1.getPassword());
            temp = new CheckMoney(); //!! 把两个窗口联系起来
            temp.setVisible(true); //设置窗口2为可见 
            this.setVisible(false);//该窗口隐藏 
        }    /*CheckMoney.java*/   
       //按钮点击事件响应。
       private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            String str;
            str=jPasswordField.password;//从登陆窗体获取密码
            jTextField1.setText(str);   
        }             
      

  21.   

    可以写一个返回类,通过这个类的return来调用啊
      

  22.   


    valueOf 具体是做什么的啊 转换成值吗?
      

  23.   

    定义任何一个变量的时候,至少你也得初始化一下吧,这就是为什么会出现
    java.lang.NullPointerException
      

  24.   

    在Login 内里面写 写个公有函数返回getTextField(), getPassword() ,再另一个内调用并获得对象,然后用getText()方法返回String类型
      

  25.   

    很明显,你这两个类需要传递参数嘛,很简单,在CheckMoney中增加两个变量id,key,用以记录账号,密码,并增加改变方法setid,setkey,在点击了确定按钮之后的事件中改变CheckMoney类中的变量嘛,用CheckMoney实例调用对应的setid,setkey方法就可以了