如何从一个帧到另一个帧获取字符串值

时间:2013-06-09 07:08:47

标签: java string swing jframe

我做了很少的应用程序,我需要一个我认为简单的事情的帮助,但我堆栈atm。 有2个带JFrame的类。一个是登录和其他I GUI和程序做某事.Login与数据库连接,所有我如何从textField获取值,其中是用户名,当它通过验证显示在其他GUI类,如USER :(名字你首先在登录框中写道。)

我尝试使用set get方法并为该字符串添加值,例如

String s = textField.getText().toString();

但是当我在GUI中调用get方法时,就会发生这种情况。

3 个答案:

答案 0 :(得分:1)

尝试这个传递数据:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

class PassData extends JFrame
{
    JTextField text;
    PassData(){
        JLabel l=new JLabel("Name: ");
        text=new JTextField(20);
        JButton b=new JButton("Send");
        setLayout(null);
        l.setBounds(10,10,100,20);
        text.setBounds(120,10,150,20);
        b.setBounds(120,40,80,20);
        add(l);
        add(text);
        add(b);
        setVisible(true);
        setSize(300,100);
          b.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
            String value=text.getText();
            NextPage page=new NextPage(value);
            page.setVisible(true);
            }
        });
    }
        public static void main(String[] args) 
    {
        new PassData();
    }
}

尝试下一页的代码:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class NextPage extends JFrame
{
  NextPage(String st)
   {
     setLayout(null);
     setDefaultCloseOperation(javax.swing. WindowConstants.DISPOSE_ON_CLOSE);
     setTitle("Welcome");
     JLabel lab=new JLabel("Welcome  "+st);
     lab.setBounds(10,10,500,20);
     add(lab);
     setSize(300, 100);
      }
 }

答案 1 :(得分:0)

我假设您在登录时被带到另一个屏幕。在这种情况下,textField的值为空。因此,textField.getText()将为空。 您已从登录屏幕中读取文本以进行验证。那么,为什么要再读一遍呢。只需将其传递给下一个GUI并根据需要进行渲染。

答案 2 :(得分:0)

使两个GUI扩展/继承彼此。例如

class A 
{
  private username;
  private password;

public void A(username,password)
{

}
}

class B extends A
{
  private A(username,password);

public setA(username,password){}

public void verify()
{
  // send this response to GUI   
}

}

你可以通过textField.getText()和onclick按钮从textfield获取值,从类A到类B,并使用classB通过第二个GUI验证和显示输出。