Advertisement
Guest User

LAUNCHER-PANEL

a guest
May 17th, 2018
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.07 KB | None | 0 0
  1. package fr.redsun.exolauncher;
  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.LaunchException;
  18. import fr.theshark34.openlauncherlib.util.Saver;
  19. import fr.theshark34.swinger.Swinger;
  20. import fr.theshark34.swinger.colored.SColoredBar;
  21. import fr.theshark34.swinger.event.SwingerEvent;
  22. import fr.theshark34.swinger.event.SwingerEventListener;
  23. import fr.theshark34.swinger.textured.STexturedButton;
  24.  
  25. @SuppressWarnings("serial")
  26. public class LauncherPanel extends JPanel implements SwingerEventListener {
  27.  
  28. private Saver saver = new Saver(new File(Launcher.EX_DIR, "launcher.properties"));
  29.  
  30. Image background = Swinger.getResource("launcher.png");
  31.  
  32. private JTextField usernameField = new JTextField(saver.get("username"));
  33. private JTextField passwordField = new JPasswordField();
  34.  
  35. private STexturedButton playButton = new STexturedButton(Swinger.getResource("button.png"));
  36. private STexturedButton quitButton = new STexturedButton(Swinger.getResource("quit_button.png"));
  37. private STexturedButton hideButton = new STexturedButton(Swinger.getResource("hide_button.png"));
  38.  
  39. private SColoredBar progressbar = new SColoredBar(Swinger.getTransparentWhite(100), Swinger.getTransparentWhite(175));
  40. private JLabel infoLabel = new JLabel("Connecte-toi pour jouer !", SwingConstants.CENTER);
  41.  
  42.  
  43. public LauncherPanel() {
  44. this.setLayout(null);
  45.  
  46. usernameField.setForeground(Color.lightGray);
  47. usernameField.setCaretColor(Color.LIGHT_GRAY);
  48. usernameField.setFont(usernameField.getFont().deriveFont(20F));
  49. usernameField.setOpaque(false);
  50. usernameField.setBorder(null);
  51. usernameField.setBounds(671, 70, 280, 41);
  52. this.add(usernameField);
  53.  
  54. passwordField.setForeground(Color.lightGray);
  55. passwordField.setCaretColor(Color.LIGHT_GRAY);
  56. passwordField.setFont(passwordField.getFont().deriveFont(20F));
  57. passwordField.setOpaque(false);
  58. passwordField.setBorder(null);
  59. passwordField.setBounds(690, 140, 280, 41);
  60. this.add(passwordField);
  61.  
  62.  
  63. playButton.setBounds(668, 225, 290, 60);
  64. playButton.addEventListener(this);
  65. this.add(playButton);
  66.  
  67. quitButton.setBounds(946, 10);
  68. quitButton.addEventListener(this);
  69. this.add(quitButton);
  70.  
  71. hideButton.setBounds(919, 10);
  72. hideButton.addEventListener(this);
  73. this.add(hideButton);
  74.  
  75. progressbar.setBounds(34, 566, 602,28);
  76. this.add(progressbar);
  77.  
  78. infoLabel.setBounds(34, 565, 602,31);
  79. this.add(infoLabel);
  80.  
  81. infoLabel.setForeground(Color.GRAY);
  82. infoLabel.setFont(usernameField.getFont());
  83. }
  84.  
  85. @Override
  86. public void onEvent (SwingerEvent e) {
  87. if (e.getSource() == playButton ) {
  88. setFieldsEnabled(false);
  89.  
  90. if(usernameField.getText().replaceAll(" ", "").length() == 0 || passwordField.getText().length() == 0) {
  91. JOptionPane.showMessageDialog(this, "Erreur : Veuillez entrez une E-mail & un mot de passe valide.", "Informations incorrect", JOptionPane.WARNING_MESSAGE);
  92. setFieldsEnabled(true);
  93. return;
  94. }
  95.  
  96. Thread t = new Thread() {
  97. @Override
  98. public void run() {
  99.  
  100. try {
  101. Launcher.auth(usernameField.getText(), passwordField.getText());
  102.  
  103. } catch(AuthenticationException e) {
  104. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur : Impossible de se connecter au serveur distant :" + e.getErrorModel().getErrorMessage() , "Informations incorrect", JOptionPane.ERROR_MESSAGE);
  105. setFieldsEnabled(true);
  106. }
  107.  
  108. //saver.set("username", usernameField.getText());
  109.  
  110. try
  111. {
  112. Launcher.update();
  113. } catch(Exception e) {
  114. Launcher.interruptThread();
  115. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur : Impossible de mettre Exolia a jour (NETWORK OU SERVER)");
  116. setFieldsEnabled(true);
  117. return;
  118. }
  119.  
  120.  
  121.  
  122. try {
  123. Launcher.launch();
  124. } catch(LaunchException e) {
  125. //Launcher.interruptThread();
  126. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur critique : Impossible de lancer Exolia. Veuillez aller sur le forum.");
  127. setFieldsEnabled(true);
  128. }
  129. }
  130. };
  131. t.start();
  132.  
  133. } else if(e.getSource() == quitButton)
  134. System.exit(0);
  135.  
  136. else if(e.getSource() == hideButton)
  137. LauncherFrame.getInstance().setState(JFrame.ICONIFIED);
  138.  
  139. }
  140.  
  141.  
  142. @Override
  143. public void paintComponent(Graphics g) {
  144. super.paintComponent(g);
  145.  
  146. g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
  147. }
  148.  
  149. private void setFieldsEnabled(boolean enabled) {
  150. usernameField.setEnabled(enabled);
  151. passwordField.setEnabled(enabled);
  152. playButton.setEnabled(enabled);
  153.  
  154. }
  155.  
  156. public SColoredBar getProgressBar() {
  157. return progressbar;
  158. }
  159.  
  160. public void SetInfoText(String text) {
  161. infoLabel.setText(text);
  162. }
  163.  
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement