I am trying to redirect the login page from my GUI, to a Registration page when clicking the "Register" button. However, when displaying the new page, the content has, somehow, some default coordinates and sizes which I can't manage to change. These are located in the "CONTENTS OF THE REGISTER PAGE" commented section. No matter what "X", "Y", width and height I write, the labels and text fields won't move or resize. I am not sure what am I doing wrong.
Below is the code:
package Panel;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MainPanel {
JFrame frame;
JPanel login, register, home;
Container container;
public MainPanel() {
//-------------------------------------------------//
//----------CONTENTS OF THE LOGIN PAGE-------------//
//-------------------------------------------------//
//-----------------Login Page Labels Settings--------
//Title Label
JLabel loginLabel = new JLabel();
loginLabel.setText("You need to login to be able to use this system");
loginLabel.setBounds(25, 10, 500, 30);
loginLabel.setFont(new Font(loginLabel.getFont().getName(), loginLabel.getFont().getStyle(), 14));
//Username label
JLabel userNameField = new JLabel();
userNameField.setText("Username");
userNameField.setBounds(150, 55, 250, 30);
//Password label
JLabel passwordField = new JLabel();
passwordField.setText("Password");
passwordField.setBounds(150, 130, 250, 30);
//Registration question label
JLabel registerField = new JLabel();
registerField.setText("You don't have an account?");
registerField.setBounds(55, 230, 300, 30);
//----------------Login Page Textfield Settings----------------
//Username input field
JTextField userNameTextField = new JTextField();
userNameTextField.setBounds(85, 90, 200, 30);
//Password input field
JTextField passwwordTextField = new JTextField();
passwwordTextField.setBounds(85, 160, 200, 30);
//------------------Buttons Settings-------------------
//Login button
JButton loginSubmitButton = new JButton("Login");
loginSubmitButton.setBounds(135, 200, 100, 20);
loginSubmitButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.setContentPane(home);
frame.setSize(600, 500);
home.revalidate();
}
});
//Register button
JButton registerButton = new JButton("Register");
registerButton.setBounds(220, 236, 100, 20);
registerButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.setContentPane(register);
register.revalidate();
}
});
//-----------------Login Page Content Settings---------------
login = new JPanel();
login.add(loginLabel);
login.add(userNameField);
login.add(passwordField);
login.add(registerField);
login.add(userNameTextField);
login.add(passwwordTextField);
login.add(loginSubmitButton);
login.add(registerButton);
//----------------------------------------------------//
//-----------CONTENTS OF THE REGISTER PAGE------------//
//----------------------------------------------------//
//-----------------Register Page Labels Settings--------
//Title Label
JLabel registerLabel = new JLabel();
registerLabel.setText("Please use the below fields to register");
registerLabel.setBounds(70, 10, 500, 90);
registerLabel.setFont(new Font(registerLabel.getFont().getName(), registerLabel.getFont().getStyle(), 14));
//Username label
JLabel registerUserNameField = new JLabel();
registerUserNameField.setText("Username");
registerUserNameField.setBounds(25, 10, 250, 30);
//Password label
JLabel registerPasswordField = new JLabel();
registerPasswordField.setText("Password");
//----------------Register Page Textfield Settings----------------
//Username input field
JTextField registerUserNameTextField = new JTextField();
registerUserNameTextField.setBounds(85, 90, 200, 30);
//Password input field
JTextField registerPasswwordTextField = new JTextField();
registerPasswwordTextField.setBounds(85, 160, 200, 30);
//-----------------Register Page Content Settings--------------
register = new JPanel();
register.add(registerLabel);
register.add(registerUserNameField);
register.add(registerPasswordField);
register.add(registerUserNameTextField);
register.add(registerPasswwordTextField);
//-------------------------------------------------//
//-----------------Frame settings-------------------
//-------------------------------------------------//
frame = new JFrame("Final Java Project");
frame.setContentPane(login);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 500);
frame.setLayout(null);
frame.setVisible(true);
}
}