Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- enum TYPEPANEL {AUTH, REGISTER, DOWNLOAD};
- public class Template {
- public static void main(String[] args) {
- new Window();
- }
- }
- class Window extends JFrame {
- private AuthPanel authPanel;
- private RegisterPanel registerPanel;
- private DownLoadPanel downloadPanel;
- private TYPEPANEL typePanel = TYPEPANEL.AUTH;
- public void setVisiblePanel(TYPEPANEL type)
- {
- authPanel.setVisible(false);
- registerPanel.setVisible(false);
- downloadPanel.setVisible(false);
- switch (type)
- {
- case REGISTER:
- setRegisterPanel();
- break;
- case DOWNLOAD:
- setDownloadPanel();
- break;
- default:
- setAuthPanel();
- }
- }
- private void setAuthPanel() {
- typePanel = TYPEPANEL.AUTH;
- setContentPane(authPanel);
- setTitle(authPanel.getTitle());
- authPanel.setVisible(true);
- }
- private void setRegisterPanel() {
- typePanel = TYPEPANEL.REGISTER;
- setContentPane(registerPanel);
- setTitle(registerPanel.getTitle());
- registerPanel.setVisible(true);
- }
- private void setDownloadPanel() {
- typePanel = TYPEPANEL.DOWNLOAD;
- setContentPane(downloadPanel);
- setTitle(downloadPanel.getTitle());
- downloadPanel.setVisible(true);
- }
- public Window() {
- //создаем все возможные панели, но загружаем только одну
- authPanel = new AuthPanel(this);
- registerPanel = new RegisterPanel(this);
- downloadPanel = new DownLoadPanel(this);
- setLayout(null);
- setAuthPanel();
- setBounds(0,0,500,600);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setVisible(true);
- }
- }
- //форма авторизации
- class AuthPanel extends JPanel {
- private Window wnd;//ссылка на родителя (JFrame)
- public String getTitle() { return "Авторизация";}
- JTextField txtLoginName = new JTextField();
- public AuthPanel(Window refParent) {
- wnd = refParent;
- setLayout(null);
- txtLoginName.setBounds(10, 10, 100, 30);
- add(txtLoginName);
- JButton btnAdd = new JButton("Подключиться");
- btnAdd.setBounds(100, 100, 200, 50);
- add(btnAdd);
- btnAdd.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- String login = txtLoginName.getText().trim();
- if (login.equals("admin"))
- {
- wnd.setVisiblePanel(TYPEPANEL.DOWNLOAD);
- } else //на форму регистрации
- wnd.setVisiblePanel(TYPEPANEL.REGISTER);
- }
- });
- setBounds(0,0,200,200);
- setVisible(false); //по умолчанию прячем
- }
- }
- //форма регистрации
- class RegisterPanel extends JPanel {
- private Window wnd;//ссылка на родителя (JFrame)
- JTextField txtLoginName = new JTextField();
- public String getTitle() { return "Регистрация";}
- public RegisterPanel(Window refParent) {
- wnd = refParent;
- setLayout(null);
- JButton btnAdd = new JButton("Зарегистрироваться");
- btnAdd.setBounds(100, 100, 200, 50);
- add(btnAdd);
- setBounds(0,0,200,200);
- setVisible(false); //по умолчанию прячем
- }
- }
- //форма для закачки игр
- class DownLoadPanel extends JPanel {
- private Window wnd;//ссылка на родителя (JFrame)
- public String getTitle() { return "Загрузка файлов";}
- public DownLoadPanel(Window refParent) {
- wnd = refParent;
- setLayout(null);
- JButton btnDownload = new JButton("Загрузить игру");
- btnDownload.setBounds(50, 100, 200, 50);
- add(btnDownload);
- setBounds(0,0,200,200);
- setVisible(false); //по умолчанию прячем
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement