Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.29 KB | None | 0 0
  1. package fr.xenos5077.launcher;
  2.  
  3. import fr.theshark34.openauth.AuthenticationException;
  4. import fr.theshark34.openlauncherlib.launcher.util.UsernameSaver;
  5. import fr.theshark34.swinger.Swinger;
  6. import fr.theshark34.swinger.colored.SColoredBar;
  7. import fr.theshark34.swinger.event.SwingerEvent;
  8. import fr.theshark34.swinger.event.SwingerEventListener;
  9. import fr.theshark34.swinger.textured.STexturedButton;
  10.  
  11. import javax.swing.*;
  12. import java.awt.*;
  13. import java.io.IOException;
  14.  
  15. @SuppressWarnings("serial")
  16. public class LauncherPanel extends JPanel implements SwingerEventListener {
  17.  
  18.     private Image image = Swinger.getResource("Launcher.png");
  19.     private UsernameSaver usernameSaver = new UsernameSaver(Main.FV_INFOS);
  20.  
  21.     private JTextField usernameField = new JTextField(usernameSaver.getUsername(""));
  22.     private JPasswordField passwordField = new JPasswordField();
  23.     private STexturedButton playButton = new STexturedButton(Swinger.getResource("connexion.png"));
  24.     private STexturedButton reduceButton = new STexturedButton(Swinger.getResource("-.png"));
  25.     private STexturedButton closeButton = new STexturedButton(Swinger.getResource("x.png"));
  26.  
  27.     private SColoredBar progressbar = new SColoredBar(Swinger.getTransparentWhite(100), Swinger.getTransparentWhite(175));
  28.     private JLabel jLabel = new JLabel("Venez jouer! Cliquez sur Connexion");
  29.  
  30.     public LauncherPanel(){
  31.         this.setLayout(null);
  32.         //Username field
  33.         usernameField.setCaretColor(Color.GRAY);
  34.         usernameField.setForeground(Color.DARK_GRAY);
  35.         usernameField.setFont(usernameField.getFont().deriveFont(20F));
  36.         usernameField.setOpaque(false);
  37.         usernameField.setBorder(null);
  38.         usernameField.setBounds(438, 330, 370, 27);
  39.         this.add(usernameField);
  40.  
  41.         //Password field
  42.         passwordField.setForeground(Color.DARK_GRAY);
  43.         passwordField.setFont(usernameField.getFont());
  44.         passwordField.setCaretColor(Color.GRAY);
  45.         passwordField.setOpaque(false);
  46.         passwordField.setBorder(null);
  47.         passwordField.setBounds(438, 455, 400, 27);
  48.         this.add(passwordField);
  49.  
  50.         playButton.setBounds(808, 545);
  51.         playButton.addEventListener(this);
  52.         this.add(playButton);
  53.  
  54.         reduceButton.setBounds(900, 9);
  55.         reduceButton.addEventListener(this);
  56.         this.add(reduceButton);
  57.  
  58.         closeButton.setBounds(925, 9);
  59.         closeButton.addEventListener(this);
  60.         this.add(closeButton);
  61.  
  62.         progressbar.setBounds(0, 598, 350, 27);
  63.         this.add(progressbar);
  64.  
  65.         jLabel.setForeground(Color.LIGHT_GRAY);
  66.         jLabel.setFont(usernameField.getFont());
  67.         jLabel.setBounds(0, 576, 350, 25);
  68.         this.add(jLabel);
  69.     }
  70.  
  71.     @Override
  72.     public void onEvent(SwingerEvent event){
  73.         if(event.getSource() == playButton){
  74.             setFieldOn(false);
  75.             if(usernameField.getText().replaceAll(" ", "").length() == 0 || passwordField.getText().length() == 0){
  76.                 JOptionPane.showMessageDialog(this, "Veuillez rentrer de correct informations", "Erreur", JOptionPane.ERROR_MESSAGE);
  77.                 setFieldOn(true);
  78.                 return;
  79.             }
  80.  
  81.             Thread thread = new Thread(){
  82.                 @Override
  83.                 public void run(){
  84.                     try{
  85.                         Main.auth(usernameField.getText(), passwordField.getText());
  86.                     }catch (AuthenticationException exception){
  87.                         JOptionPane.showMessageDialog(LauncherPanel.this, "Impossible de se conneceter " + exception.getErrorModel().getErrorMessage(), "Erreur", JOptionPane.ERROR_MESSAGE);
  88.                         setFieldOn(true);
  89.                         return;
  90.                     }
  91.  
  92.                     try{
  93.                         Main.update();
  94.                     }catch(Exception exc){
  95.                         Main.interupthread();
  96.                         JOptionPane.showMessageDialog(LauncherPanel.this, "Impossible de mettre le jeux à jour " + exc, "Erreur", JOptionPane.ERROR_MESSAGE);
  97.                         setFieldOn(true);
  98.                         return;
  99.                     }
  100.  
  101.                     try{
  102.                         Main.Launch();
  103.                     }catch(IOException exc){
  104.                         JOptionPane.showMessageDialog(LauncherPanel.this, "Impossible de lancer le jeu" + exc, "Erreur", JOptionPane.ERROR_MESSAGE);
  105.                         setFieldOn(true);
  106.                     }
  107.                 }
  108.             };
  109.             thread.start();
  110.         }else if(event.getSource() == closeButton)
  111.             System.exit(0);
  112.         else if(event.getSource() == reduceButton)
  113.             LauncherFrame.getInstance().setState(JFrame.ICONIFIED);
  114.     }
  115.  
  116.     @Override
  117.     public void paintComponent(Graphics graphics){
  118.         super.paintComponent(graphics);
  119.         graphics.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), this);
  120.  
  121.     }
  122.  
  123.     public void setFieldOn(boolean enabled){
  124.         usernameField.setEnabled(enabled);
  125.         passwordField.setEnabled(enabled);
  126.         playButton.setEnabled(enabled);
  127.     }
  128.  
  129.     public SColoredBar getProgressbar() {
  130.         return progressbar;
  131.     }
  132.  
  133.     public void setInfo(String text){
  134.         jLabel.setText(text);
  135.     }
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement