Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.Sylou_.DBDO.launcher;
- import static fr.theshark34.swinger.Swinger.drawFullsizedImage;
- import static fr.theshark34.swinger.Swinger.getResource;
- import static fr.theshark34.swinger.Swinger.getTransparentWhite;
- 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 fr.theshark34.openauth.AuthenticationException;
- import fr.theshark34.openlauncherlib.util.Saver;
- import fr.theshark34.openlauncherlib.util.ramselector.RamSelector;
- import fr.theshark34.swinger.colored.SColoredBar;
- import fr.theshark34.swinger.event.SwingerEvent;
- import fr.theshark34.swinger.event.SwingerEventListener;
- import fr.theshark34.swinger.textured.STexturedButton;
- public class LauncherPanel extends JPanel implements SwingerEventListener
- {
- private Image background = getResource("background.png");
- private Saver saver = new Saver(new File(Launcher.DBDO_DIR, "launcher.properties"));
- private JTextField usernameField = new JTextField(saver.get("username"));
- private JPasswordField passwordField = new JPasswordField();
- private STexturedButton playButton = new STexturedButton(getResource("play.png"));
- private STexturedButton quitButton = new STexturedButton(getResource("quit.png"));
- private STexturedButton hideButton = new STexturedButton(getResource("hide.png"));
- private SColoredBar progressBar = new SColoredBar(getTransparentWhite(100), getTransparentWhite(175));
- private JLabel infoLabel = new JLabel("Clique sur Jouer !", 0);
- private RamSelector ramSelector = new RamSelector(new File(Launcher.DBDO_DIR, "ram.txt"));
- public LauncherPanel()
- {
- setLayout(null);
- usernameField.setFont(usernameField.getFont().deriveFont(17F));
- usernameField.setOpaque(false);
- usernameField.setBorder(null);
- usernameField.setBounds(360, 232, 254, 19);
- this.add(usernameField);
- passwordField.setFont(usernameField.getFont());
- passwordField.setOpaque(false);
- passwordField.setBorder(null);
- passwordField.setBounds(360, 286, 254, 20);
- this.add(passwordField);
- playButton.setBounds(402, 337);
- playButton.addEventListener(this);
- this.add(playButton);
- quitButton.setBounds(932, 9);
- quitButton.addEventListener(this);
- this.add(quitButton);
- hideButton.setBounds(891, 9);
- hideButton.addEventListener(this);
- this.add(hideButton);
- progressBar.setBounds(239, 480, 497, 40);
- this.add(progressBar);
- infoLabel.setForeground(Color.WHITE);
- infoLabel.setFont(usernameField.getFont());
- infoLabel.setBounds(239, 430, 497, 60);
- 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;
- }
- try {
- Launcher.update();
- }catch(Exception e) {
- Launcher.interruptThread();
- JOptionPane.showMessageDialog(LauncherPanel.this, "Erreur, impossible de mettre le jeu à jour : " + e, "Erreur", JOptionPane.ERROR_MESSAGE);
- setFieldsEnabled(true);
- return;
- }
- }
- };
- 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 graphics) {
- super.paintComponent(graphics);
- drawFullsizedImage(graphics, this, background);
- }
- 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