SHARE
TWEET

LauncherPanel

a guest Jan 22nd, 2020 86 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package fr.midacoyt.valerium.launcher;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Image;
  6. import java.io.File;
  7.  
  8. import javax.swing.JFrame;
  9. import javax.swing.JLabel;
  10. import javax.swing.JOptionPane;
  11. import javax.swing.JPanel;
  12. import javax.swing.JPasswordField;
  13. import javax.swing.JTextField;
  14. import javax.swing.SwingConstants;
  15.  
  16. import fr.theshark34.openauth.AuthenticationException;
  17. import fr.theshark34.openlauncherlib.launcher.util.UsernameSaver;
  18. import fr.theshark34.swinger.Swinger;
  19. import fr.theshark34.swinger.colored.SColoredBar;
  20. import fr.theshark34.swinger.event.SwingerEvent;
  21. import fr.theshark34.swinger.event.SwingerEventListener;
  22. import fr.theshark34.swinger.textured.STexturedButton;
  23.  
  24. @SuppressWarnings({ "serial", "unused" })
  25. public class LauncherPanel extends JPanel implements SwingerEventListener {
  26.    
  27.     private Image background = Swinger.getResource("background.png");
  28.    
  29.     private UsernameSaver saver = new UsernameSaver(Launcher.SC_INFOS);
  30.    
  31.     private JTextField usernameField = new JTextField(saver.getUsername(""));
  32.     private JPasswordField passwordField = new JPasswordField();
  33.    
  34.     private STexturedButton playButton = new STexturedButton(Swinger.getResource("play.png"));
  35.     private STexturedButton quitButton = new STexturedButton(Swinger.getResource("quit.png"));
  36.     private STexturedButton hideButton = new STexturedButton(Swinger.getResource("hide.png"));  
  37.  
  38.    
  39.     private SColoredBar progressBar = new SColoredBar(Swinger.getTransparentWhite(100), Swinger.getTransparentWhite(175));
  40.     private JLabel infoLabel = new JLabel("Cliquer sur play !", SwingConstants.CENTER);
  41.    
  42.     public LauncherPanel() {
  43.         this.setLayout(null);
  44.        
  45.        
  46.         usernameField.setForeground(Color.WHITE);
  47.         usernameField.setFont(usernameField.getFont().deriveFont(20F));
  48.         usernameField.setCaretColor(Color.WHITE);
  49.         usernameField.setOpaque(false);
  50.         usernameField.setBorder(null);
  51.         usernameField.setBounds(293, 286, 180, 33);
  52.         this.add(usernameField);
  53.        
  54.         passwordField.setForeground(Color.WHITE);
  55.         passwordField.setFont(passwordField.getFont());
  56.         passwordField.setCaretColor(Color.WHITE);
  57.         passwordField.setOpaque(false);
  58.         passwordField.setBorder(null);
  59.         passwordField.setBounds(293, 348, 180, 33);
  60.         this.add(passwordField);
  61.        
  62.         playButton.setBounds(350, 454);
  63.         playButton.addEventListener(this);
  64.         this.add(playButton);
  65.        
  66.         quitButton.setBounds(923, 18);
  67.         quitButton.addEventListener(this);
  68.         this.add(quitButton);
  69.        
  70.         hideButton.setBounds(880, 18);
  71.         hideButton.addEventListener(this);
  72.         this.add(hideButton);      
  73.        
  74.         progressBar.setBounds(8, 597, 960, 20);
  75.         this.add(progressBar);
  76.        
  77.         infoLabel.setForeground(Color.WHITE);
  78.         infoLabel.setFont(usernameField.getFont());
  79.         infoLabel.setBounds(12, 570, 950, 25);
  80.         this.add(infoLabel);
  81.     }
  82.    
  83.    
  84.  
  85.     @SuppressWarnings("deprecation")
  86.     @Override
  87.     public void onEvent(SwingerEvent e) {
  88.         if(e.getSource() == playButton) {
  89.             setFieldEnabled(false);
  90.            
  91.             if(usernameField.getText().replaceAll(" ", "").length() == 0 || passwordField.getText().length() == 0) {
  92.                 JOptionPane.showMessageDialog(this, "Erreur, veuillez entrer un pseudo et un mot de passe valides." ,"Erreur", JOptionPane.ERROR_MESSAGE);
  93.                 setFieldEnabled(true);
  94.                 return;
  95.             }
  96.            
  97.            
  98.            
  99.             Thread t = new Thread() {
  100.                 @Override
  101.                 public void run() {
  102.                     try {
  103.                     Launcher.auth(usernameField.getText(), passwordField.getText());
  104.                 } catch (AuthenticationException e) {
  105.                     JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, impossible de se connecter :" + e.getErrorModel().getErrorMessage(), "Error", JOptionPane.ERROR_MESSAGE);
  106.                     setFieldEnabled(true);
  107.                     return;
  108.                 }
  109.                    
  110.                     try {
  111.                         Launcher.update();
  112.                     } catch (Exception e) {
  113.                         Launcher.interruptThread();
  114.                         JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, impossible de mettre le jeu a jour :" + e, "Error", JOptionPane.ERROR_MESSAGE);
  115.                         setFieldEnabled(true);
  116.                         return;
  117.                     }
  118.                    
  119.                     try {
  120.                         Launcher.launch();
  121.                     }catch (Exception e) {
  122.                         Launcher.interruptThread();
  123.                         JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, impossible de lancer le jeu :" + e, "Error", JOptionPane.ERROR_MESSAGE);
  124.                         setFieldEnabled(true);
  125.                         return;
  126.                     }
  127.                     try {
  128.                        
  129.                     } catch (Exception e) {
  130.                         e.printStackTrace();
  131.                     }
  132.                    
  133.                    
  134.                    
  135.                 }
  136.             };
  137.             t.start();
  138.         } else if(e.getSource()  == quitButton)
  139.             System.exit(0);
  140.         else if (e.getSource() == hideButton) {
  141.             LauncherFrame.getInstance().setState(JFrame.ICONIFIED);
  142.         }
  143.     }
  144.    
  145.    
  146.     @Override
  147.     public void paintComponent(Graphics g) {
  148.         super.paintComponent(g);
  149.        
  150.         g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
  151.     }
  152.    
  153.     private void setFieldEnabled(boolean enabled) {
  154.         usernameField.setEnabled(enabled);
  155.         passwordField.setEnabled(enabled);
  156.         playButton.setEnabled(enabled);
  157.     }
  158.    
  159.     public SColoredBar getProgressBar() {
  160.         return progressBar;
  161.     }
  162.    
  163.     public void setInfoText(String text) {
  164.         infoLabel.setText(text);
  165.     }
  166.    
  167. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top