Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.wintersia.launcher;
- 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.openlauncherlib.util.ramselector.RamSelector;
- 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 Saver saver = new Saver(new File(Launcher.W_DIR, "Launcher.properties"));
- private JTextField usernameField = new JTextField(saver.get("Username"));
- private JPasswordField passwordField = new JPasswordField();
- private STexturedButton PlayButton = new STexturedButton(Swinger.getResource("Play.png"));
- private STexturedButton QuitButton = new STexturedButton(Swinger.getResource("Quit.png"));
- private STexturedButton HideButton = new STexturedButton(Swinger.getResource("Hide.png"));
- private STexturedButton SettingsButton = new STexturedButton(Swinger.getResource("Settings.png"));
- private SColoredBar progressBar = new SColoredBar(Swinger.getTransparentWhite(100),
- Swinger.getTransparentWhite(175));
- private JLabel infoLabel = new JLabel("Clique sur Jouer !", SwingConstants.CENTER);
- private RamSelector ramSelector = new RamSelector(new File(Launcher.W_DIR, "ram.txt"));
- public LauncherPanel() {
- this.setLayout(null);
- usernameField.setOpaque(false);
- usernameField.setBorder(null);
- usernameField.setForeground(Color.WHITE);
- usernameField.setFont(usernameField.getFont().deriveFont(20F));
- usernameField.setCaretColor(Color.WHITE);
- usernameField.setBounds(668, 222, 232, 47);
- this.add(usernameField);
- passwordField.setOpaque(false);
- passwordField.setBorder(null);
- passwordField.setForeground(Color.WHITE);
- passwordField.setFont(usernameField.getFont().deriveFont(20F));
- passwordField.setCaretColor(Color.WHITE);
- passwordField.setBounds(668, 375, 232, 47);
- this.add(passwordField);
- PlayButton.setBounds(695, 470, 180, 32);
- PlayButton.addEventListener(this);
- this.add(PlayButton);
- QuitButton.setBounds(948, 0, 27, 27);
- QuitButton.addEventListener(this);
- this.add(QuitButton);
- HideButton.setBounds(919, 0, 27, 27);
- HideButton.addEventListener(this);
- this.add(HideButton);
- SettingsButton.setBounds(890, 0, 27, 27);
- SettingsButton.addEventListener(this);
- this.add(SettingsButton);
- progressBar.setBounds(570, 600, 365, 15);
- this.add(progressBar);
- infoLabel.setBounds(570, 580, 365, 15);
- infoLabel.setForeground(Color.BLACK);
- infoLabel.setFont(usernameField.getFont().deriveFont(15F));
- this.add(infoLabel);
- }
- @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 et un mot de passe valide",
- "Erreur", 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",
- JOptionPane.ERROR_MESSAGE);
- setFieldsEnabled(true);
- return;
- }
- saver.set("username", usernameField.getText());
- ramSelector.save();
- try {
- Launcher.update();
- } catch (Exception e) {
- Launcher.interruptThread();
- Launcher.getCrashReporter().catchError(e, "Impossible de faire la mise � jour !");
- setFieldsEnabled(true);
- return;
- }
- try {
- Launcher.launch();
- } catch (LaunchException e) {
- Launcher.getCrashReporter().catchError(e, "Impossible de lancer le jeu !");
- setFieldsEnabled(true);
- return;
- }
- }
- };
- t.start();
- } else if (e.getSource() == QuitButton)
- System.exit(0);
- else if (e.getSource() == HideButton)
- LauncherFrame.getInstance().setState(JFrame.ICONIFIED);
- else if (e.getSource() == SettingsButton)
- ramSelector.display();
- }
- @Override
- public void paintComponent(Graphics g) {
- super.paintComponents(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);
- }
- public RamSelector getRamSelector() {
- return ramSelector;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement