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);