Advertisement
Guest User

LauncherPanel.java

a guest
Feb 22nd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. package fr.xolium.urafightlauncher;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Image;
  6. import java.io.IOException;
  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 static fr.theshark34.swinger.Swinger.*;
  17. import fr.theshark34.openauth.AuthenticationException;
  18. import fr.theshark34.openlauncherlib.launcher.util.UsernameSaver;
  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. private Image background = Swinger.getResource("background.png");
  28.  
  29. private UsernameSaver saver = new UsernameSaver(Launcher.UF_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. private SColoredBar progressBar = new SColoredBar(getTransparentWhite(100), getTransparentWhite(175));
  39. private JLabel infoLabel = new JLabel("Clique sur Play !", SwingConstants.CENTER);
  40.  
  41. public LauncherPanel() {
  42. this.setLayout(null);
  43.  
  44. usernameField.setForeground(Color.WHITE);
  45. usernameField.setCaretColor(Color.WHITE);
  46. usernameField.setFont(usernameField.getFont().deriveFont(18F));
  47. usernameField.setOpaque(false);
  48. usernameField.setBorder(null);
  49. usernameField.setBounds(380, 270, 170, 36);
  50. this.add(usernameField);
  51.  
  52. passwordField.setForeground(Color.WHITE);
  53. passwordField.setCaretColor(Color.WHITE);
  54. passwordField.setFont(usernameField.getFont().deriveFont(18F));
  55. passwordField.setOpaque(false);
  56. passwordField.setBorder(null);
  57. passwordField.setBounds(380, 334, 178, 36);
  58. this.add(passwordField);
  59.  
  60.  
  61. playButton.setBounds(356, 407);
  62. playButton.addEventListener(this);
  63. this.add(playButton);
  64.  
  65. quitButton.setBounds(903, 8);
  66. quitButton.addEventListener(this);
  67. this.add(quitButton);
  68.  
  69. hideButton.setBounds(820, 31);
  70. hideButton.addEventListener(this);
  71. this.add(hideButton);
  72.  
  73. progressBar.setBounds(14, 589, 948, 24);
  74. this.add(progressBar);
  75.  
  76. infoLabel.setForeground(Color.WHITE);
  77. infoLabel.setFont(usernameField.getFont());
  78. infoLabel.setBounds(14, 560, 948, 24);
  79. this.add(infoLabel);
  80. }
  81. @SuppressWarnings("deprecation")
  82. @Override
  83. public void onEvent(SwingerEvent e) {
  84. if(e.getSource() == playButton) {
  85. setFielsdEnabled(false);
  86.  
  87. if(usernameField.getText().replaceAll("", "").length() == 0 || passwordField.getText().length() == 0) {
  88. JOptionPane.showMessageDialog(this, "Erreur, veuillez entrer un pseudo et un mot de passe valides", "Erreur", JOptionPane.ERROR_MESSAGE);
  89. setFielsdEnabled(true);
  90. return;
  91. }
  92. Thread t = new Thread() {
  93. @Override
  94. public void run() {
  95. try {
  96. Launcher.auth(usernameField.getText(), passwordField.getText());
  97. } catch (AuthenticationException e) {
  98. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur,impossible de se connecter:" + e.getErrorModel().getErrorMessage(), "Erreur", JOptionPane.ERROR_MESSAGE);
  99. setFielsdEnabled(true);
  100. return;
  101. }
  102.  
  103.  
  104.  
  105. try {
  106. Launcher.update();
  107. } catch (Exception e) {
  108. Launcher.InterruptThread();
  109. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur,impossible de mettre le jeu à jour:" + e, "Erreur", JOptionPane.ERROR_MESSAGE);
  110. setFielsdEnabled(true);
  111. return;
  112. }
  113. try {
  114. Launcher.launch();
  115. } catch (IOException e) {
  116. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur,impossible de lancer le jeu:" + e, "Erreur", JOptionPane.ERROR_MESSAGE);
  117. setFielsdEnabled(true);
  118. }
  119.  
  120. saver.setUsername(usernameField.getText());
  121. }
  122. };
  123. t.start();
  124. }else if(e.getSource() == quitButton)
  125. System.exit(0);
  126. else if(e.getSource() == hideButton)
  127. LauncherFrame.getInstance().setState(JFrame.ICONIFIED);
  128. }
  129.  
  130. @Override
  131. public void paintComponent(Graphics g){
  132. super.paintComponent(g);
  133.  
  134. drawFullsizedImage(g, this, background);
  135.  
  136. }
  137. private void setFielsdEnabled(boolean enabled) {
  138. usernameField.setEnabled(enabled);
  139. passwordField.setEnabled(enabled);
  140. playButton.setEnabled(enabled);
  141.  
  142. }
  143. public SColoredBar getProgressBar() {
  144. return progressBar;
  145. }
  146. public void setInfoText(String text) {
  147. infoLabel.setText(text);
  148. }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement