Как передать значение переменной из одного JFrame в другой JFrame в Netbeans - PullRequest
4 голосов
/ 23 марта 2012

У меня есть два JFrames login.java и account.java
Мне нужно получить username со страницы login.java и поместить его в переменную account.java JFrame.Как я могу сделать это в Java NetBeans, используя Swing?

Ответы [ 5 ]

3 голосов
/ 29 июля 2013

Вместо использования JFrames для передачи значений между различными формами вы можете использовать CardLayout, который сохранит ваши данные, которые вы ввели в предыдущей форме. Все, что вам нужно сделать, это создать JFrameForm и добавить к нему панели.

3 голосов
/ 23 марта 2012

Вы можете использовать методы получения и установки ...

Установить имя пользователя в установщике.И используя объект login.java используйте его в account.java через getter ...

public class login {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = this.usernameTextField.getText();
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = this.passwordTextField.getText();
    }
}

Используя объекты login.java, получите доступ getPassword(), getUsername() в account.java.вам нужно сначала передать объект login.java в account.java ...

1 голос
/ 14 декабря 2016

Так как вы спросили, как передать значение переменной от одного JFrame к другому JFrame (используя swing). Поэтому для этого поместите одно текстовое поле (tx) и кнопку (jButton3) в login.java и одну метку (lx) в account.java, где мы будем печатать значение текстового поля из login.java.

Введите это в login.java: -

 private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
      String msg= tx.getText();
      new NewJFrame2(msg).setVisible(true);
    } 

Затем перегрузите конструктор в account.java: -

public NewJFrame2(String abc ){
        initComponents();
        lx.setText(abc);
    }
0 голосов
/ 19 июля 2017

100% рабочий раствор. Предположим, вы звоните welcome.java

Account ac= new Account(new JFrame(), true);

После этой строки вызовите метод welcome.java, который нужно создать как:

wc.setUser(username);

Для аккаунта. Java

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

User1 - глобальная переменная, доступная для всех, для чего нужно определить lke:

String user1;

после присвоения имени пользователя user1. здесь cname - метка, имя которой является cname; Итак, мы видим текст cname для пользователя.

0 голосов
/ 20 января 2014

Ну, у вас есть очень хороший способ сделать это.

Определить новые статические Конечные объекты этого класса. и сохраните это значение в объекте.

и в других классах вы можете легко использовать эти объекты, а также эти значения. Используя

CLASSNAME.OBJECT VALUE.

используйте это.

...