Advertisement
vgoncharov

template

Dec 15th, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.89 KB | None | 0 0
  1. import java.awt.event.ActionEvent;
  2. import java.awt.event.ActionListener;
  3.  
  4. import javax.swing.JButton;
  5. import javax.swing.JFrame;
  6. import javax.swing.JPanel;
  7. import javax.swing.JTextField;
  8.  
  9. enum TYPEPANEL {AUTH, REGISTER, DOWNLOAD};
  10.  
  11. public class Template {
  12.  
  13.     public static void main(String[] args) {
  14.         new Window();
  15.     }
  16.  
  17. }
  18.  
  19. class Window extends JFrame {
  20.    
  21.     private AuthPanel authPanel;
  22.     private RegisterPanel registerPanel;
  23.     private DownLoadPanel downloadPanel;
  24.  
  25.    
  26.     private TYPEPANEL typePanel = TYPEPANEL.AUTH;
  27.    
  28.     public void setVisiblePanel(TYPEPANEL type)
  29.     {
  30.         authPanel.setVisible(false);
  31.         registerPanel.setVisible(false);
  32.         downloadPanel.setVisible(false);
  33.        
  34.         switch (type)
  35.         {
  36.         case REGISTER:
  37.                 setRegisterPanel();
  38.                 break;
  39.         case DOWNLOAD:
  40.                 setDownloadPanel();
  41.                 break;
  42.         default:
  43.                 setAuthPanel();
  44.         }
  45.     }
  46.    
  47.    
  48.     private void setAuthPanel() {
  49.         typePanel = TYPEPANEL.AUTH;
  50.         setContentPane(authPanel);
  51.         setTitle(authPanel.getTitle());
  52.         authPanel.setVisible(true);
  53.     }
  54.    
  55.     private void setRegisterPanel() {
  56.         typePanel = TYPEPANEL.REGISTER;
  57.         setContentPane(registerPanel);
  58.         setTitle(registerPanel.getTitle());
  59.         registerPanel.setVisible(true);
  60.     }
  61.    
  62.     private void setDownloadPanel() {
  63.         typePanel = TYPEPANEL.DOWNLOAD;
  64.         setContentPane(downloadPanel);
  65.         setTitle(downloadPanel.getTitle());
  66.         downloadPanel.setVisible(true);
  67.     }
  68.    
  69.     public Window() {
  70.        
  71.         //создаем все возможные панели, но загружаем только одну
  72.         authPanel = new AuthPanel(this);
  73.         registerPanel = new RegisterPanel(this);
  74.         downloadPanel = new DownLoadPanel(this);
  75.        
  76.         setLayout(null);
  77.         setAuthPanel();
  78.         setBounds(0,0,500,600);
  79.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  80.         setVisible(true);
  81.     }
  82. }
  83.  
  84. //форма авторизации
  85. class AuthPanel extends JPanel {
  86.    
  87.     private Window wnd;//ссылка на родителя (JFrame)
  88.    
  89.     public String getTitle() { return "Авторизация";}
  90.    
  91.     JTextField txtLoginName = new JTextField();
  92.  
  93.     public AuthPanel(Window refParent) {
  94.        
  95.         wnd = refParent;
  96.        
  97.         setLayout(null);
  98.  
  99.         txtLoginName.setBounds(10, 10, 100, 30);
  100.         add(txtLoginName);
  101.        
  102.         JButton btnAdd = new JButton("Подключиться");
  103.         btnAdd.setBounds(100, 100, 200, 50);
  104.         add(btnAdd);
  105.        
  106.         btnAdd.addActionListener(new ActionListener() {
  107.            
  108.             @Override
  109.             public void actionPerformed(ActionEvent e) {
  110.                
  111.                 String login = txtLoginName.getText().trim();
  112.                
  113.                 if (login.equals("admin"))
  114.                 {
  115.                     wnd.setVisiblePanel(TYPEPANEL.DOWNLOAD);
  116.                 } else //на форму регистрации
  117.                 wnd.setVisiblePanel(TYPEPANEL.REGISTER);
  118.             }
  119.         });
  120.        
  121.         setBounds(0,0,200,200);
  122.         setVisible(false); //по умолчанию прячем
  123.     }
  124. }
  125.  
  126. //форма регистрации
  127. class RegisterPanel extends JPanel {
  128.    
  129.     private Window wnd;//ссылка на родителя (JFrame)
  130.    
  131.     JTextField txtLoginName = new JTextField();
  132.    
  133.    
  134.     public String getTitle() { return "Регистрация";}
  135.    
  136.     public RegisterPanel(Window refParent) {
  137.        
  138.         wnd = refParent;
  139.        
  140.         setLayout(null);
  141.         JButton btnAdd = new JButton("Зарегистрироваться");
  142.         btnAdd.setBounds(100, 100, 200, 50);
  143.        
  144.        
  145.        
  146.         add(btnAdd);
  147.         setBounds(0,0,200,200);
  148.         setVisible(false); //по умолчанию прячем
  149.     }
  150. }
  151.  
  152. //форма для закачки игр
  153. class DownLoadPanel extends JPanel {
  154.    
  155.     private Window wnd;//ссылка на родителя (JFrame)
  156.    
  157.     public String getTitle() { return "Загрузка файлов";}
  158.    
  159.     public DownLoadPanel(Window refParent) {
  160.        
  161.         wnd = refParent;
  162.        
  163.         setLayout(null);
  164.         JButton btnDownload = new JButton("Загрузить игру");
  165.         btnDownload.setBounds(50, 100, 200, 50);
  166.         add(btnDownload);
  167.         setBounds(0,0,200,200);
  168.         setVisible(false); //по умолчанию прячем
  169.     }
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement