Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Java Swing проблема с интерфейсом приложения

Кирилл Карульский Ученик (103), открыт 1 неделю назад
Здравствуйте, столкнулся с проблемой.Не понимаю каким образом исправить перекос и сделать так, чтоб кнопки были под полями.
Вот код:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ChooseRole extends JFrame {

private JButton buyButtonUser;
private JButton buyButtonAdmin;
private JButton buyButtonLogin;
private JButton butButtonRegistration;
private JLabel userLogin;
private JTextField userLoginText;
private JLabel userPassword;
private JPasswordField userPasswordText; // Changed to JPasswordField

public ChooseRole() {
setTitle("Выбор роли");
setSize(400, 100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container container = getContentPane();
container.setLayout(new FlowLayout( FlowLayout.CENTER , 3, 2));

buyButtonUser = new JButton("Пользователь");
buyButtonUser.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
setVisible(false);

JFrame userFrame = new JFrame("Окно пользователя");
userFrame.setSize(500, 200);
userFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

userLogin = new JLabel("Логин: ");
userLoginText = new JTextField(10);
userPassword = new JLabel("Пароль");
userPasswordText = new JPasswordField(10);

JPanel containerUser = new JPanel();
containerUser.setLayout(new FlowLayout( FlowLayout.CENTER , 2, 2));

buyButtonLogin = new JButton("Вход");
butButtonRegistration = new JButton("Регистрация");

containerUser.add(userLogin);
containerUser.add(userLoginText);
containerUser.add(userPassword);
containerUser.add(userPasswordText);
containerUser.add(buyButtonLogin);
containerUser.add(butButtonRegistration);

userFrame.add(containerUser);

userFrame.setVisible(true);
}
});

buyButtonAdmin = new JButton("Администратор");
buyButtonAdmin.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Action for admin button
}
});

JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2, 1));
panel.add(buyButtonUser);
panel.add(buyButtonAdmin);

add(panel);
setVisible(true);
}
}
1 ответ
Denis_69 Искусственный Интеллект (145008) 1 неделю назад
Поменять Layout а вообще, никто такое руками не пишет , существует WindowBuilder и его аналоги
Похожие вопросы