Guest User

LauncherPanel.java

a guest
Oct 20th, 2019
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.25 KB | None | 0 0
  1. package fr.timdide.launcherpro;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Image;
  6.  
  7. import javax.swing.JOptionPane;
  8. import javax.swing.JPanel;
  9. import javax.swing.JPasswordField;
  10. import javax.swing.JTextField;
  11.  
  12. import fr.theshark34.openauth.AuthenticationException;
  13. import fr.theshark34.openlauncherlib.launcher.util.UsernameSaver;
  14. import fr.theshark34.swinger.Swinger;
  15. import fr.theshark34.swinger.colored.SColoredBar;
  16. import fr.theshark34.swinger.event.SwingerEvent;
  17. import fr.theshark34.swinger.event.SwingerEventListener;
  18. import fr.theshark34.swinger.textured.STexturedButton;
  19.  
  20. @SuppressWarnings("serial")
  21. public class LauncherPanel extends JPanel implements SwingerEventListener {
  22.  
  23. private Image background = Swinger.getResource("background.png");
  24.  
  25. private UsernameSaver saver = new UsernameSaver(Launcher.LP_INFOS);
  26.  
  27. private JTextField usernameField = new JTextField(saver.getUsername(""));
  28. private JTextField passwordField = new JPasswordField();
  29.  
  30. private STexturedButton playButton = new STexturedButton(Swinger.getResource("play.png"));
  31. private STexturedButton quitButton = new STexturedButton(Swinger.getResource("quit.png"));
  32.  
  33. private SColoredBar progressBar = new SColoredBar(Swinger.getTransparentWhite(100), Swinger.getTransparentWhite(175));
  34.  
  35. public LauncherPanel() {
  36. this.setLayout(null);
  37.  
  38. usernameField.setForeground(Color.RED);
  39. usernameField.setFont(usernameField.getFont().deriveFont(20F));
  40. usernameField.setCaretColor(Color.RED);
  41. usernameField.setText("E-Mail");
  42. usernameField.setOpaque(false);
  43. usernameField.setBounds(80, 217, 825, 50);
  44. this.add(usernameField);
  45.  
  46. passwordField.setForeground(Color.RED);
  47. passwordField.setFont(usernameField.getFont().deriveFont(20F));
  48. passwordField.setCaretColor(Color.RED);
  49. passwordField.setText("Mot de passe");
  50. passwordField.setOpaque(false);
  51. passwordField.setBounds(80, 315, 825, 50);
  52. this.add(passwordField);
  53.  
  54. playButton.setBounds(605, 400);
  55. playButton.addEventListener(this);
  56. this.add(playButton);
  57.  
  58. quitButton.setBounds(10, 10);
  59. quitButton.addEventListener(this);
  60. this.add(quitButton);
  61.  
  62. progressBar.setBounds(80, 375, 820, 25);
  63. this.add(progressBar);
  64.  
  65. }
  66.  
  67. public void paintComponent(Graphics g) {
  68. super.paintComponent(g);
  69.  
  70. g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
  71.  
  72. }
  73.  
  74. @Override
  75. public void onEvent(SwingerEvent e) {
  76.  
  77.  
  78.  
  79.  
  80.  
  81. if(e.getSource() == playButton) {
  82. setFieldsEnabled(false);
  83.  
  84. if(usernameField.getText().replaceAll(" ", "").length() == 0 || passwordField.getText().length() == 0) {
  85. JOptionPane.showMessageDialog(this, "Erreur, veuillez entrer un pseudo ou/et un mot de passe valide(s) SVP", "Erreur de connexion", JOptionPane.ERROR_MESSAGE);
  86. setFieldsEnabled(true);
  87. return;
  88. }
  89.  
  90. Thread t = new Thread() {
  91. @Override
  92. public void run() {
  93.  
  94. try {
  95. Launcher.auth(usernameField.getText(), passwordField.getText());
  96. } catch (AuthenticationException e) {
  97. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, impossible de se connecter :" + e.getErrorModel().getErrorMessage(), "Erreur de connexion", JOptionPane.ERROR_MESSAGE);
  98. setFieldsEnabled(true);
  99. return;
  100. }
  101.  
  102. try {
  103. Launcher.update();;
  104. } catch (Exception e) {
  105. Launcher.interruptThread();
  106. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, impossible de mettre à jour le jeu ! Regardez donc cela :" + e, "Erreur de mise à jour", JOptionPane.ERROR_MESSAGE);
  107. setFieldsEnabled(true);
  108. return;
  109. }
  110.  
  111. try {
  112. Launcher.launch();
  113. } catch (Exception e) {
  114. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, impossible de lancer le jeu :" + e, "Erreur de mise à jour", JOptionPane.ERROR_MESSAGE);
  115. setFieldsEnabled(true);
  116. }
  117.  
  118. }
  119.  
  120. };
  121.  
  122. t.start();
  123. } else if(e.getSource() == quitButton)
  124. System.exit(0);
  125. }
  126.  
  127.  
  128. private void setFieldsEnabled(boolean enabled) {
  129. usernameField.setEnabled(enabled);
  130. passwordField.setEnabled(enabled);
  131. playButton.setEnabled(enabled);
  132. }
  133.  
  134. public SColoredBar getProgressBar() {
  135. return progressBar;
  136. }
  137.  
  138. }
Advertisement
Add Comment
Please, Sign In to add comment