Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.timdide.launcherpro;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Image;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JTextField;
- import fr.theshark34.openauth.AuthenticationException;
- import fr.theshark34.openlauncherlib.launcher.util.UsernameSaver;
- import fr.theshark34.swinger.Swinger;
- import fr.theshark34.swinger.colored.SColoredBar;
- import fr.theshark34.swinger.event.SwingerEvent;
- import fr.theshark34.swinger.event.SwingerEventListener;
- import fr.theshark34.swinger.textured.STexturedButton;
- @SuppressWarnings("serial")
- public class LauncherPanel extends JPanel implements SwingerEventListener {
- private Image background = Swinger.getResource("background.png");
- private UsernameSaver saver = new UsernameSaver(Launcher.LP_INFOS);
- private JTextField usernameField = new JTextField(saver.getUsername(""));
- private JTextField passwordField = new JPasswordField();
- private STexturedButton playButton = new STexturedButton(Swinger.getResource("play.png"));
- private STexturedButton quitButton = new STexturedButton(Swinger.getResource("quit.png"));
- private SColoredBar progressBar = new SColoredBar(Swinger.getTransparentWhite(100), Swinger.getTransparentWhite(175));
- public LauncherPanel() {
- this.setLayout(null);
- usernameField.setForeground(Color.RED);
- usernameField.setFont(usernameField.getFont().deriveFont(20F));
- usernameField.setCaretColor(Color.RED);
- usernameField.setText("E-Mail");
- usernameField.setOpaque(false);
- usernameField.setBounds(80, 217, 825, 50);
- this.add(usernameField);
- passwordField.setForeground(Color.RED);
- passwordField.setFont(usernameField.getFont().deriveFont(20F));
- passwordField.setCaretColor(Color.RED);
- passwordField.setText("Mot de passe");
- passwordField.setOpaque(false);
- passwordField.setBounds(80, 315, 825, 50);
- this.add(passwordField);
- playButton.setBounds(605, 400);
- playButton.addEventListener(this);
- this.add(playButton);
- quitButton.setBounds(10, 10);
- quitButton.addEventListener(this);
- this.add(quitButton);
- progressBar.setBounds(80, 375, 820, 25);
- this.add(progressBar);
- }
- public void paintComponent(Graphics g) {
- super.paintComponent(g);
- g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
- }
- @Override
- public void onEvent(SwingerEvent e) {
- if(e.getSource() == playButton) {
- setFieldsEnabled(false);
- if(usernameField.getText().replaceAll(" ", "").length() == 0 || passwordField.getText().length() == 0) {
- JOptionPane.showMessageDialog(this, "Erreur, veuillez entrer un pseudo ou/et un mot de passe valide(s) SVP", "Erreur de connexion", JOptionPane.ERROR_MESSAGE);
- setFieldsEnabled(true);
- return;
- }
- Thread t = new Thread() {
- @Override
- public void run() {
- try {
- Launcher.auth(usernameField.getText(), passwordField.getText());
- } catch (AuthenticationException e) {
- JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, impossible de se connecter :" + e.getErrorModel().getErrorMessage(), "Erreur de connexion", JOptionPane.ERROR_MESSAGE);
- setFieldsEnabled(true);
- return;
- }
- try {
- Launcher.update();;
- } catch (Exception e) {
- Launcher.interruptThread();
- JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, impossible de mettre à jour le jeu ! Regardez donc cela :" + e, "Erreur de mise à jour", JOptionPane.ERROR_MESSAGE);
- setFieldsEnabled(true);
- return;
- }
- try {
- Launcher.launch();
- } catch (Exception e) {
- JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, impossible de lancer le jeu :" + e, "Erreur de mise à jour", JOptionPane.ERROR_MESSAGE);
- setFieldsEnabled(true);
- }
- }
- };
- t.start();
- } else if(e.getSource() == quitButton)
- System.exit(0);
- }
- private void setFieldsEnabled(boolean enabled) {
- usernameField.setEnabled(enabled);
- passwordField.setEnabled(enabled);
- playButton.setEnabled(enabled);
- }
- public SColoredBar getProgressBar() {
- return progressBar;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment