Переключение между JPanel (вход, регистрация и другие панели) - Java
Формулировка задачи:
хочу создать фрейм приложения где переключаются панели входа, регистрации и так далее, но выскакивает исключение....помогите пожалуйста разобраться в ошибке
Листинг программы
- package frame;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- public class TestFrame extends JFrame
- {
- public TestFrame()
- {
- //создается фрейм
- JFrame frame=new JFrame("ShellTest");
- frame.setSize(400, 250);
- frame.setLocation(350, 200);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- //создается вторая панель (на которую надо перейти если совпали логин и пароль)
- JPanel panel2=new JPanel();
- panel2.add(new JLabel("HELLO"));
- //создается третья панель для регистрации пользователя
- JPanel panel3=new JPanel();
- panel3.add(new JLabel("Registration"));
- //создается первая панель с полями для входа в приложение
- JPanel panel1=new JPanel();
- panel1.setLayout(new BorderLayout());
- JPanel logPanel = new JPanel();
- logPanel.setLayout(new GridLayout(2,2));
- logPanel.add(new JLabel("Login:"));
- JTextField login=new JTextField("");
- logPanel.add(login);
- logPanel.add(new JLabel("Password:"));
- JPasswordField password=new JPasswordField("");
- logPanel.add(password);
- //кнопка подверждение входа, если логин и пароль правельные
- JPanel buttonPanel=new JPanel();
- JButton logButton=new JButton("Intra");
- logButton.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent event)
- {
- CardLayout cl = (CardLayout) (panel2.getLayout());
- cl.show(panel2, ((JButton) event.getSource()).getText());
- }
- });
- buttonPanel.add(logButton);
- //кнопка регистрации, перекидывает на панель регистрации
- JButton registrareButton=new JButton("Inregistrare");
- registrareButton.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent event)
- {
- CardLayout cl = (CardLayout) (panel1.getLayout());
- cl.show(panel1, ((JButton) event.getSource()).getText());
- }
- });
- buttonPanel.add(registrareButton);
- panel1.add(logPanel, BorderLayout.NORTH);
- panel1.add(buttonPanel, BorderLayout.CENTER);
- JPanel mainPanel=new JPanel(new CardLayout());
- mainPanel.add(panel1);
- mainPanel.add(panel2, "Intra");
- mainPanel.add(panel3, "Inregistrare");
- frame.add(mainPanel);
- frame.setVisible(true);
- }
- public static void main(String[] args)
- {
- EventQueue.invokeLater(new Runnable()
- {
- public void run()
- {
- new TestFrame();
- }
- });
- }
- }
Решение задачи: «Переключение между JPanel (вход, регистрация и другие панели)»
textual
Листинг программы
- public void actionPerformed(ActionEvent event)
- {
- CardLayout cl = (CardLayout) (mainPanel.getLayout());
- cl.show(mainPanel, ((JButton) event.getSource()).getText());
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д