Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.25 KB | None | 0 0
  1. package fr.wirexy.draconis;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Image;
  6. import java.io.File;
  7. import java.io.IOException;
  8.  
  9. import javax.naming.AuthenticationException;
  10. import javax.swing.JFrame;
  11. import javax.swing.JLabel;
  12. import javax.swing.JOptionPane;
  13. import javax.swing.JPanel;
  14. import javax.swing.JPasswordField;
  15. import javax.swing.JTextField;
  16. import javax.swing.SwingConstants;
  17.  
  18. import fr.northenflo.auth.exception.DataEmptyException;
  19. import fr.northenflo.auth.exception.DataWrongException;
  20. import fr.theshark34.openlauncherlib.LaunchException;
  21. import fr.theshark34.openlauncherlib.util.Saver;
  22. import fr.theshark34.openlauncherlib.util.ramselector.RamSelector;
  23. import fr.theshark34.swinger.Swinger;
  24. import fr.theshark34.swinger.colored.SColoredBar;
  25. import fr.theshark34.swinger.event.SwingerEvent;
  26. import fr.theshark34.swinger.event.SwingerEventListener;
  27. import fr.theshark34.swinger.textured.STexturedButton;
  28. import fr.wirexy.draconis.Frame.LauncherFrame;
  29.  
  30. @SuppressWarnings("serial")
  31. public class Panel extends JPanel implements SwingerEventListener{
  32.  
  33. private Image background = Swinger.getResource("background.png");
  34.  
  35. private Saver saver = new Saver(new File(Launcher.DU_DIR, "launcher.properties"));
  36.  
  37. private JTextField username = new JTextField(saver.get("username"));
  38. private JPasswordField password = new JPasswordField();
  39.  
  40. private STexturedButton playButton = new STexturedButton(Swinger.getResource("playbouton.png"));
  41. private STexturedButton quitButton = new STexturedButton(Swinger.getResource("closebouton.png"));
  42. private STexturedButton hideButton = new STexturedButton(Swinger.getResource("reducebouton.png"));
  43. private STexturedButton ramButton = new STexturedButton(Swinger.getResource("option.png"));
  44.  
  45. private SColoredBar progressBar = new SColoredBar(new Color(170, 112, 179, 50).darker());
  46. private JLabel infoLabel = new JLabel("Clique sur JOUER !", SwingConstants.CENTER);
  47.  
  48. private RamSelector ramSelector = new RamSelector(new File(Launcher.DU_DIR, "ram.txt"));
  49.  
  50. public Panel() {
  51. this.setLayout(null);
  52.  
  53. username.setBorder(null);
  54. username.setOpaque(false);
  55. username.setFont(username.getFont().deriveFont(18F));
  56. username.setBounds(719, 300, 231, 25);
  57. this.add(username);
  58.  
  59. password.setBorder(null);
  60. password.setOpaque(false);
  61. password.setFont(username.getFont());
  62. password.setBounds(719, 368, 231, 25);
  63. this.add(password);
  64.  
  65. playButton.setBounds(729, 410);
  66. playButton.addEventListener(this);
  67. this.add(playButton);
  68.  
  69. quitButton.setBounds(930, 10);
  70. quitButton.addEventListener(this);
  71. this.add(quitButton);
  72.  
  73. hideButton.setBounds(890, 13);
  74. hideButton.addEventListener(this);
  75. this.add(hideButton);
  76.  
  77. progressBar.setBounds(699, 585, 272, 35);
  78. this.add(progressBar);
  79.  
  80. infoLabel.setForeground(Color.PINK);
  81. infoLabel.setFont(username.getFont());
  82. infoLabel.setBounds(660, 560, 354, 25);
  83. this.add(infoLabel);
  84.  
  85. this.ramButton.addEventListener(this);
  86. this.ramButton.setBounds(729, 490);
  87. this.add(ramButton);
  88.  
  89. }
  90.  
  91. @Override
  92. public void onEvent(SwingerEvent e) {
  93. if(e.getSource() == playButton) {
  94. setFieldsEnabled(false);
  95.  
  96. if(username.getText().replaceAll(" ", "").length() == 0 || password.getText().length() == 0) {
  97. JOptionPane.showMessageDialog(this, "Veuillez remplir votre utilisateur et votre mot de passe.", "Erreur", JOptionPane.ERROR_MESSAGE);
  98. setFieldsEnabled(true);
  99. return;
  100. }
  101.  
  102. Thread t = new Thread() {
  103. @Override
  104. public void run() {
  105. try {
  106. Launcher.auth(username.getText(), password.getText());
  107. } catch (DataEmptyException e) {
  108. JOptionPane.showMessageDialog(Panel.this, "Connexion impossible : ", "Erreur", JOptionPane.ERROR_MESSAGE);
  109. setFieldsEnabled(true);
  110. return;
  111. }
  112.  
  113. saver.set("username", username.getText());
  114. ramSelector.save();
  115.  
  116. try {
  117. Launcher.update();
  118. } catch (Exception e) {
  119. Launcher.interruptThread();
  120. JOptionPane.showMessageDialog(Panel.this, "Impossible de mettre à jour le launcher ", "Erreur", JOptionPane.ERROR_MESSAGE);
  121. setFieldsEnabled(true);
  122. return;
  123. }
  124.  
  125. try {
  126. Launcher.launch();
  127. } catch (LaunchException e) {
  128. Launcher.interruptThread();
  129. JOptionPane.showMessageDialog(Panel.this, "Impossible de lancer le launcher ", "Erreur", JOptionPane.ERROR_MESSAGE);
  130. setFieldsEnabled(true);
  131. }
  132.  
  133. }
  134. };
  135. t.start();
  136.  
  137. } else if(e.getSource() == quitButton)
  138. System.exit(0);
  139.  
  140. else if(e.getSource() == hideButton)
  141. LauncherFrame.getInstance().setState(JFrame.ICONIFIED);
  142. else if(e.getSource() == this.ramButton)
  143. ramSelector.display();
  144. }
  145.  
  146. @Override
  147. public void paintComponent(Graphics g) {
  148. super.paintComponents(g);
  149.  
  150. g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
  151. }
  152.  
  153. private void setFieldsEnabled(boolean enabled) {
  154. username.setEnabled(enabled);
  155. password.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. public RamSelector getRamSelector() {
  168. return ramSelector;
  169. }
  170.  
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement