package UI.Components; import UI.MainWindow; import UI.SettingsPopupWindow; import javax.swing.*; import javax.swing.border.EmptyBorder; import java.awt.*; public class LoginPanel extends JPanel { public JButton loginButton; public JButton signUpButton; public JLabel statusLabel; private SettingsPopupWindow settingsPopupWindow; public InputBox usernameInput; public InputBox passwordInput; public LoginPanel() { statusLabel = new JLabel(); usernameInput = new InputBox("Username:"); usernameInput.setBorder(new EmptyBorder(140, 100, 0, 100)); this.add(usernameInput); passwordInput = new InputBox("Password:"); passwordInput.setBorder(new EmptyBorder(10, 100, 10, 100)); this.add(passwordInput); JPanel buttonPanel = new JPanel(); JButton settingsButton = new JButton("Settings"); settingsButton.addActionListener(_ -> { if (settingsPopupWindow == null) { settingsPopupWindow = new SettingsPopupWindow(); settingsPopupWindow.saveButton.addActionListener(_ -> { MainWindow.url = settingsPopupWindow.hostnameInput.getValue(); settingsPopupWindow.setVisible(false); }); } settingsPopupWindow.hostnameInput.setValue(MainWindow.url); settingsPopupWindow.setVisible(true); }); buttonPanel.add(settingsButton); buttonPanel.add(Box.createRigidArea(new Dimension(90, 0))); signUpButton = new JButton("Sign Up"); buttonPanel.add(signUpButton); buttonPanel.add(Box.createRigidArea(new Dimension(10, 0))); loginButton = new JButton("Login"); buttonPanel.add(loginButton); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); this.add(buttonPanel); this.add(Box.createRigidArea(new Dimension(600, 0))); this.add(statusLabel); this.setMaximumSize(new Dimension(350, 200)); } }