Advertisement
Guest User

LauncherPanel

a guest
Jan 22nd, 2020
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.03 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement