import javax.swing.*;
import java.awt.*;
// Subclass extending BasicWindow for a login window
public class LoginWindow extends BasicWindow {
private JLabel usernameLabel, passwordLabel;
private JTextField usernameField;
private JPasswordField passwordField;
private JButton loginButton;
public LoginWindow(String title, int width, int height) {
super(title, width, height);
// Components specific to LoginWindow
usernameLabel = new JLabel("Username:");
passwordLabel = new JLabel("Password:");
usernameField = new JTextField(20);
passwordField = new JPasswordField(20);
loginButton = new JButton("Login");
// Layout setup using BorderLayout
JPanel panel = new JPanel(new BorderLayout());
JPanel loginPanel = new JPanel(new GridLayout(3, 2));
loginPanel.add(usernameLabel);
loginPanel.add(usernameField);
loginPanel.add(passwordLabel);
loginPanel.add(passwordField);
loginPanel.add(new JLabel()); // Empty label for spacing
loginPanel.add(loginButton);
panel.add(loginPanel, BorderLayout.CENTER);
add(panel);
// Set up additional functionality
loginButton.addActionListener(e -> {
String username = usernameField.getText();
char[] passwordChars = passwordField.getPassword();
String password = new String(passwordChars);
JOptionPane.showMessageDialog(this, "Logging in with Username: " + username + " and Password: " + password);
});
}
}