Advertisement
diablocraft123

LauncherPanel.java

Mar 18th, 2018
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.87 KB | None | 0 0
  1. @SuppressWarnings("serial")
  2. public class LauncherPanel extends JPanel implements SwingerEventListener {
  3.  
  4. private Image background = Swinger.getResource("Background.png");
  5.  
  6. private Saver saver = new Saver(new File(Launcher.CR_DIR, "launcher.properties"));
  7.  
  8. private JTextField usernameField = new JTextField(this.saver.get("username"));
  9. private JTextField passwordField = new JPasswordField(this.saver.get("password"));
  10.  
  11.  
  12. private STexturedButton playButton = new STexturedButton(Swinger.getResource("play.png"));
  13. private STexturedButton quitButton =new STexturedButton(Swinger.getResource("croix.png"));
  14. private STexturedButton hideButton =new STexturedButton(Swinger.getResource("reduire.png"));
  15.  
  16. private STexturedButton ramButton = new STexturedButton(Swinger.getResource("reglage.png"));
  17.  
  18. private SColoredBar progressBar = new SColoredBar(new Color(255, 255, 255), new Color(255, 200, 0));
  19. private JLabel infoLabel = new JLabel("Clique pour Jouer !", SwingConstants.CENTER);
  20.  
  21. private RamSelector ramSelector = new RamSelector(new File(Launcher.CR_DIR, "ram.txt"));
  22.  
  23.  
  24. public LauncherPanel() {
  25. this.setLayout(null);
  26.  
  27.  
  28. usernameField.setForeground(Color.BLACK);
  29. usernameField.setFont(usernameField.getFont().deriveFont(20F));
  30. usernameField.setCaretColor(Color.BLACK);
  31. usernameField.setOpaque(false);
  32. usernameField.setBorder(null);
  33. usernameField.setBounds(270, 465, 90, 20);
  34. this.add(usernameField);
  35.  
  36.  
  37. passwordField.setForeground(Color.BLACK);
  38. passwordField.setFont(passwordField.getFont().deriveFont(20F));
  39. passwordField.setCaretColor(Color.BLACK);
  40. passwordField.setOpaque(false);
  41. passwordField.setBorder(null);
  42. passwordField.setBounds(420, 465, 90, 20);
  43. this.add(passwordField);
  44.  
  45. playButton.setBounds(270, 370);
  46. playButton.addEventListener(this);
  47. this.add(playButton);
  48.  
  49. quitButton.setBounds(730, 3, 20, 20);
  50. quitButton.addEventListener(this);
  51. this.add(quitButton);
  52.  
  53. hideButton.setBounds(700, 3, 20, 20);
  54. hideButton.addEventListener(this);
  55. this.add(hideButton);
  56.  
  57.  
  58. progressBar.setBounds(275, 432, 197, 14);
  59. this.add(progressBar);
  60.  
  61. infoLabel.setForeground(Color.WHITE);
  62. infoLabel.setFont(usernameField.getFont());
  63. infoLabel.setBounds(5, 560, 1600, 25);
  64. this.add(infoLabel);
  65.  
  66. this.ramButton.addEventListener(this);
  67. this.ramButton.setBounds(670, 3, 20, 20);
  68. this.add(ramButton);
  69. }
  70. @Override
  71. public void onEvent(SwingerEvent e) {
  72. if(e.getSource() == playButton) {
  73. setFieldsEnabled(false);
  74.  
  75. if(usernameField.getText().replaceAll(" ", "").length() == 0 || passwordField.getText().length() == 0) {
  76. JOptionPane.showMessageDialog(this, "Erreur, veuillez entrer un pseudo et un mdp valides" , "Erreur" , JOptionPane.ERROR_MESSAGE);
  77. setFieldsEnabled(true);
  78. return;
  79.  
  80. }
  81.  
  82.  
  83.  
  84.  
  85. Thread t = new Thread() {
  86. @Override
  87. public void run() {
  88. try {
  89. Launcher.auth(usernameField.getText(), passwordField.getText());
  90. } catch (AuthenticationException e) {
  91. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, Impossible de se connecter :" + e.getErrorModel().getErrorMessage() , "Erreur" , JOptionPane.ERROR_MESSAGE);
  92. setFieldsEnabled(true);
  93. return;
  94. }
  95.  
  96.  
  97. saver.set("username", usernameField.getText() );
  98. saver.set("password", passwordField.getText() );
  99.  
  100.  
  101.  
  102.  
  103.  
  104. try {
  105. Launcher.update();
  106. } catch (Exception e) {
  107. Launcher.intterruptThread();
  108. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, Impossible de mettre le jour le jeu :" + e, "Erreur" , JOptionPane.ERROR_MESSAGE);
  109. setFieldsEnabled(true);
  110. return;
  111. }
  112.  
  113.  
  114.  
  115. try {
  116. Launcher.launch();
  117. } catch (LaunchException e) {
  118. JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, Impossible de lancer le jeu :" + e, "Erreur" , JOptionPane.ERROR_MESSAGE);
  119. setFieldsEnabled(true);
  120. return;
  121. }
  122.  
  123. }
  124.  
  125. };
  126.  
  127. t.start();
  128.  
  129.  
  130.  
  131.  
  132. } else if (e.getSource() == quitButton)
  133. System.exit(0);
  134.  
  135. else if (e.getSource() == hideButton)
  136. LauncherFrame.getInstance().setState(JFrame.ICONIFIED);
  137.  
  138. else if(e.getSource() == this.ramButton)
  139. ramSelector.display();
  140.  
  141.  
  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 setFieldsEnabled(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. public void setInfoText(String text) {
  163. infoLabel.setText("Telechargement des fichier");
  164. }
  165. public RamSelector getRamSelector()
  166. {
  167. return ramSelector;
  168. }
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement