将在一个JFrame文本字段中输入的值作为其他JFrame中的输入参数传递

时间:2013-07-01 19:48:12

标签: java swing jframe jtextfield

如何将在一个JFrame文本字段中输入的值作为其他JFrame中的输入参数传递?

首先在JFrameJTextFields ..

输入用户名和密码
String usr = jTextField2.getText();
String pass = jTextField3.getText();

相同的用户名和密码应在第四帧中作为输入提供 每个框架都会在按钮单击时重定向到其他框架

4 个答案:

答案 0 :(得分:7)

假设您有许多帧,则必须为此目的创建实例变量。 如果您不知道实例变量是什么,请参阅此tutorial。 让我们看一个例子:

这将是您发送变量的框架:

public class MainFrame {
    public void actionPerformed(ActionEvent ev) {
    String user = userField.getText();
    String pass = passField.getText();
    FrameOne frameOne = new FrameOne();
    frameOne.setUser(user);
    frameOne.setPass(pass);

    /* 
     * You've passed the user and pass to other frame,
     * now you can make it visible.
     */
    frameOne.setVisible(true);
 }

这将是你的第一帧:

public class FrameOne extends JFrame {
    private JTextField userField;
    private JTextField passField;

    // then create setters and getter
    public void setUser(String user) {this.userField.setText(user);}
    public String getUser() {return this.userField.getText();}

    public void setPass(String pass) {this.passField.setText(pass);}
    public String getPass() {return this.passField.getText();}

    public FrameOne() {
        //define the components here
    }
}

注意:我没有编译代码,这仅用于演示您的问题。

答案 1 :(得分:3)

您也可以像这样

将值传递给构造函数

你的主框架

public class MainFrame{
      //
      public void actionPerformed(ActionEvent ev){

       FrameOne frameOne = new FrameOne(userField.getText(), passField.getText());

       //you've passed the user and pass to other frame.
       // then you can make it visible.
       frameOne.setVisible(true);
     } 
} 

你的下一个框架

public class FrameOne extends JFrame{
  private String user;
  private String pass;

  public FrameOne(String usr, String pas){
    this.user=usr;
    this.pass=pas;
    //define the components here
 }
}

答案 2 :(得分:0)

首先创建公开的静态类型变量

public static JTextField txt2; public JTextField txt1,button1;

//第一个JFrame中的动作button1

JFrame2.setVisible(真); JFrame2.txt2.setText(Me.txt1.getText());

答案 3 :(得分:0)

Suppose u have two class like this:

for login.java
----------------
suppose u r calling welcome.java:
Welcome wc= new Welcome(new JFrame(), true);
after this line call a method of welcome.java which u have to create like:
wc.setUser(username);

for welcome.java
------------------

create a method:void setUser(String username) {
        user1 = user; 
        cname.setText(user1);
    }

user1 is global variable and available for all which u have to define lke:
String user1;
after it is assigning the username value to user1
here cname is a label which name is cname;
so, we are seeting the text of cname to the user.