Как перемещаться между фреймами/классами после нажатия кнопки в графическом интерфейсе java?
import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JLabel; import java.awt.Font; import java.awt.Window.Type; import java.awt.Color; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class WelcomePage extends AdminLogin { private JFrame frame; private JButton btnAdmin; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { WelcomePage window = new WelcomePage(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the application. */ public WelcomePage() { initialize(); } /** * Initialize the contents of the frame. */ private void initialize() { frame = new JFrame(); frame.getContentPane().setBackground(Color.BLUE); frame.setBackground(Color.BLUE); frame.setBounds(100, 100, 495, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(null); JLabel lblOnlineElectionManager = new JLabel( "Welcome To Online Election Manager"); lblOnlineElectionManager.setForeground(Color.WHITE); lblOnlineElectionManager.setFont(new Font("Tahoma", Font.PLAIN, 16)); lblOnlineElectionManager.setBounds(100, 11, 284, 47); frame.getContentPane().add(lblOnlineElectionManager); JLabel lblLoginAs = new JLabel("Login as"); lblLoginAs.setForeground(Color.WHITE); lblLoginAs.setFont(new Font("Tahoma", Font.PLAIN, 16)); lblLoginAs.setBounds(195, 84, 77, 36); frame.getContentPane().add(lblLoginAs); btnAdmin = new JButton("ADMIN"); btnAdmin.setFont(new Font("Tahoma", Font.PLAIN, 16)); btnAdmin.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (e.getSource() == btnAdmin) { AdminLogin admin = new AdminLogin(); frame.setVisible(false); admin.setVisible(true); } } }); btnAdmin.setBounds(45, 192, 117, 36); frame.getContentPane().add(btnAdmin); JButton btnVoter = new JButton("VOTER"); btnVoter.setFont(new Font("Tahoma", Font.PLAIN, 16)); btnVoter.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { } }); btnVoter.setBounds(267, 192, 117, 36); frame.getContentPane().add(btnVoter); } }
Что я уже пробовал:
Я попытался создать экземпляр второго класса "AdminLogin", в который я хочу перейти после нажатия кнопки на этом классе "WelcomePage". Когда я пытаюсь запустить, появляется ошибка "admin.setVisible(true)". Что же я такого скрутил?
Richard Deeming
Ну, первое, что вы сделали неправильно, это сказали нам: "есть ошибка", но не сказали нам, что это за ошибка.
Нажмите кнопку "улучшить вопрос" и обновите свой вопрос с полной информацией об ошибке.