How can I call a getter/setter of a user input in a different class?

69 Views Asked by At

I'm trying to make a hotel application, and wanting it so that whatever the user typed in the firstName field, will be displayed as a message saying 'Hello (name)!' in the Mainpage GUI of the application. But when I try to call the getter of that variable (being user), the error says cannot find symbol.

public class User implements java.io.Serializable {

    public User(String username, String password, String firstName, String lastName) {
        this.username = username;
        this.password = password;
        this.firstName = firstName;
        this.lastName = lastName;
    }
    
    private String username;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    private String password;

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    private String firstName;

    public String getFirstName() {
        return firstName;
    }
        public void setFirstName(String firstName) {
        this.firstName = firstName;
    }   
       
        private String lastName;

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }    
}
public class realGUI extends javax.swing.JFrame {

    public realGUI() {
        initComponents();
    }
    private void initComponents() {

        MainPageName = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        roombookingbutton = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        MainPageName.setText("Hello " + User.getFirstName() + "!");

        jLabel2.setText("Reservations");

        roombookingbutton.setText("Book a Room");
        roombookingbutton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                roombookingbuttonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(148, 148, 148)
                        .addComponent(roombookingbutton))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(162, 162, 162)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(MainPageName, javax.swing.GroupLayout.DEFAULT_SIZE, 74, Short.MAX_VALUE))))
                .addContainerGap(150, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(MainPageName)
                .addGap(35, 35, 35)
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 160, Short.MAX_VALUE)
                .addComponent(roombookingbutton)
                .addGap(45, 45, 45))
        );

        pack();
    }
}

(the only part with the error in that class is in the MainPageName.setText("Hello " + User.getFirstName() + "!");

I also had another class where I created the User object.

import java.util.ArrayList;
import java.io.IOException;
       
public class Open {

    public static realGUI ah = new realGUI();  
    public static ArrayList<User> users = new ArrayList<>();
    public static Serialise ser = new Serialise();
    public static Deserialise deSer = new Deserialise();
    
    
    public static void main(String[] args) {
        try {users = deSer.egg();} catch(IOException err){        
        }        
    ah.setVisible (true);
    }

    public static void addUser(String username, String password, String firstName, String lastName){
        User user = new User(username, password, firstName, lastName);
        users.add(user); 
0

There are 0 best solutions below