Я пишу программу, где есть JFrame с JPanel с графическим интерфейсом для входа. После успешного входа в систему вызывается метод, который очищает JFrame. Проблема, с которой я сталкиваюсь, заключается в том, что вместо очистки JFrame материал в JPanel все еще заметно там, и он просто заморожен.Не может Ясно JFrame
Метод, который создает для входа в графический интерфейс:
public void logingui() {
JPanel loginpanel = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 2;
JLabel gamename = new JLabel("InvestGame By Ama291");
gamename.setFont(new Font("Arial", 1, 22));
loginpanel.add(gamename, c);
c.ipady = 20;
c.gridx = 0;
c.gridy = 1;
loginpanel.add(new JPanel(), c);
c.ipady = 10;
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 2;
loginpanel.add(new JLabel("Username: "), c);
c.gridx = 1;
final JTextField userfield = new JTextField(10);
loginpanel.add(userfield, c);
c.gridx = 0;
c.gridy = 3;
loginpanel.add(new JPanel(), c);
c.gridx = 0;
c.gridy = 4;
loginpanel.add(new JLabel("Password: "), c);
c.gridx = 1;
final JPasswordField passfield = new JPasswordField(10);
loginpanel.add(passfield, c);
c.gridx = 0;
c.gridy = 5;
c.ipady = 20;
loginpanel.add(new JPanel(), c);
c.ipady = 10;
c.gridx = 0;
c.gridy = 6;
c.gridwidth = 1;
JButton createacc = new JButton("Create Account");
loginpanel.add(createacc, c);
c.gridx = 1;
JButton login = new JButton("Log In");
loginpanel.add(login, c);
add(loginpanel);
}
метод очистить JFrame:
public void gamegui() {
JPanel gamepanel = new JPanel();
removeAll();
invalidate();
validate();
repaint();
add(gamepanel);
}
Кто-нибудь знает, как я могу успешно удалить JPanel из JFrame без кнопок и прочее от JPanel заморожен внутри окна? Это вопрос, который у меня есть.
Обратите внимание на CardLayout, для такого рода проблем, как уже было сказано. Для [example] (http://stackoverflow.com/a/9349137/1057230) :-) –
Пользуясь CardLayout для чего-то еще в моей программе, спасибо, что показал мне, как его использовать. – ama291