Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.redsun.exolauncher;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.io.File;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JTextField;
- import javax.swing.SwingConstants;
- import fr.theshark34.openauth.AuthenticationException;
- import fr.theshark34.openlauncherlib.LaunchException;
- import fr.theshark34.openlauncherlib.util.Saver;
- 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 Saver saver = new Saver(new File(Launcher.EX_DIR, "launcher.properties"));
- Image background = Swinger.getResource("launcher.png");
- private JTextField usernameField = new JTextField(saver.get("username"));
- private JTextField passwordField = new JPasswordField();
- private STexturedButton playButton = new STexturedButton(Swinger.getResource("button.png"));
- private STexturedButton quitButton = new STexturedButton(Swinger.getResource("quit_button.png"));
- private STexturedButton hideButton = new STexturedButton(Swinger.getResource("hide_button.png"));
- private SColoredBar progressbar = new SColoredBar(Swinger.getTransparentWhite(100), Swinger.getTransparentWhite(175));
- private JLabel infoLabel = new JLabel("Connecte-toi pour jouer !", SwingConstants.CENTER);
- public LauncherPanel() {
- this.setLayout(null);
- usernameField.setForeground(Color.lightGray);
- usernameField.setCaretColor(Color.LIGHT_GRAY);
- usernameField.setFont(usernameField.getFont().deriveFont(20F));
- usernameField.setOpaque(false);
- usernameField.setBorder(null);
- usernameField.setBounds(671, 70, 280, 41);
- this.add(usernameField);
- passwordField.setForeground(Color.lightGray);
- passwordField.setCaretColor(Color.LIGHT_GRAY);
- passwordField.setFont(passwordField.getFont().deriveFont(20F));
- passwordField.setOpaque(false);
- passwordField.setBorder(null);
- passwordField.setBounds(690, 140, 280, 41);
- this.add(passwordField);
- playButton.setBounds(668, 225, 290, 60);
- playButton.addEventListener(this);
- this.add(playButton);
- quitButton.setBounds(946, 10);
- quitButton.addEventListener(this);
- this.add(quitButton);
- hideButton.setBounds(919, 10);
- hideButton.addEventListener(this);
- this.add(hideButton);
- progressbar.setBounds(34, 566, 602,28);
- this.add(progressbar);
- infoLabel.setBounds(34, 565, 602,31);
- this.add(infoLabel);
- infoLabel.setForeground(Color.GRAY);
- infoLabel.setFont(usernameField.getFont());
- }
- @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 entrez une E-mail & un mot de passe valide.", "Informations incorrect", JOptionPane.WARNING_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 au serveur distant :" + e.getErrorModel().getErrorMessage() , "Informations incorrect", JOptionPane.ERROR_MESSAGE);
- setFieldsEnabled(true);
- }
- //saver.set("username", usernameField.getText());
- try
- {
- Launcher.update();
- } catch(Exception e) {
- Launcher.interruptThread();
- JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur : Impossible de mettre Exolia a jour (NETWORK OU SERVER)");
- setFieldsEnabled(true);
- return;
- }
- try {
- Launcher.launch();
- } catch(LaunchException e) {
- //Launcher.interruptThread();
- JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur critique : Impossible de lancer Exolia. Veuillez aller sur le forum.");
- setFieldsEnabled(true);
- }
- }
- };
- t.start();
- } else if(e.getSource() == quitButton)
- System.exit(0);
- else if(e.getSource() == hideButton)
- LauncherFrame.getInstance().setState(JFrame.ICONIFIED);
- }
- @Override
- public void paintComponent(Graphics g) {
- super.paintComponent(g);
- g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
- }
- private void setFieldsEnabled(boolean enabled) {
- usernameField.setEnabled(enabled);
- passwordField.setEnabled(enabled);
- playButton.setEnabled(enabled);
- }
- public SColoredBar getProgressBar() {
- return progressbar;
- }
- public void SetInfoText(String text) {
- infoLabel.setText(text);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement