Делаю лаунчер майнкрафт по гайду и не пойму в чём проблема
- Я только учу джаву так что многие базовые вещи могу не знать, но всё же решил написать простенький лаунчер на майнкрафт
- в main после нажатия на кнопку войти вместо данных пишет следующее (если надо остальное скажите):
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at com.vanhester.demo2/com.vanhester.demo2.Main.lambda$new$0(Main.java:58) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
- А вот и сам main:
import com.vanhester.demo2.settings.GuardUtil;
import com.vanhester.demo2.settings.Util;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
public class Main extends JFrame {
public static String[] AuthData = null;
public static boolean Version = false;
public static JPanel MainPane;
public static Box MBox;
public static JLabel LgLabel = new JLabel("Логин");
public JTextField LgFid = new JTextField(20);
public static JLabel PassLabel = new JLabel("Пароль");
public JPasswordField PassFid = new JPasswordField(20);
public JButton lgbut = new JButton("Войти");
public Main() {
setTitle("RdcLauncher_alpha");
setBackground(Color.RED);
this.setSize(new Dimension(800, 600));
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MainPane = new JPanel();
MainPane.setBackground(Color.RED);
Box loginb = Box.createHorizontalBox();
loginb.add(LgLabel);
loginb.add(Box.createHorizontalStrut(8));
loginb.add(LgFid);
Box passb = Box.createHorizontalBox();
passb.add(PassLabel);
passb.add(Box.createHorizontalStrut(8));
passb.add(PassFid);
Box butb = Box.createHorizontalBox();
butb.add(lgbut);
LgLabel.setPreferredSize(PassLabel.getPreferredSize());
MBox = Box.createVerticalBox();
MBox.setBorder(new EmptyBorder(10, 10, 10, 10));
MBox.add(loginb);
MBox.add(Box.createVerticalStrut(15));
MBox.add(passb);
MBox.add(Box.createVerticalStrut(15));
MBox.add(lgbut);
MainPane.add(MBox);
this.getContentPane().add(MainPane);
lgbut.addActionListener(ev -> {
if ((!LgFid.getText().equals("")) && (!new String(PassFid.getPassword()).equals(""))) {
if (Authorize(LgFid.getText(), new String(PassFid.getPassword()))) {
JOptionPane.showMessageDialog(null, "Вы вашли!\n\nЛогин: " + AuthData[1]
+ "\nПароль: " + AuthData[0]
+ "\nСессия: " + AuthData[2],
"Лох!",
JOptionPane.INFORMATION_MESSAGE);
} else if (Version) {
JOptionPane.showMessageDialog(null,
"У ВАС УСТАРЕЛ ЛАУНЧЕР",
"хз",
JOptionPane.WARNING_MESSAGE);
} else {
JOptionPane.showMessageDialog(null,
"Вы ввели неверный логин или parol",
"хз",
JOptionPane.WARNING_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(null,
"Проверьте данные",
"Ашибка",
JOptionPane.WARNING_MESSAGE);
}
});
}
public static boolean Authorize(final String user, final String pass) {
String AuthResult = Util.Connect("http://ivanmaz0.beget.tech/auth.php", "a=auth" + "&user" + user + "&password" + GuardUtil.ShaHash(pass));
if (AuthResult == null) {
return false;
}
switch (AuthResult) {
case "Bad Login":
return false;
case "WV":
Version = true;
return false;
default:
try {
AuthData = AuthResult.split("<>");
return true;
} catch (Exception ex) {
return false;
}
}
}
public static void main(String[] args) {
try {
for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
}
}
} catch (Exception ex) {
throw new RuntimeException(ex);
}
Main frame = new Main();
frame.show();
}
}
`