1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите вырезать кусок кода из лаунчера

Тема в разделе "Оффтопик", создана пользователем karolize, 11 июн 2012.

  1. Автор темы
    karolize

    karolize Старожил Пользователь

    Баллы:
    153
    Ребят, помогите пожалуйста. Что нужно вырезать из кода, чтобы лаунчер нельзя было развернуть во весь экран? Я поковырялся в Launcher.java и нашёл только размер оконного режима. Жду помощи. Заранее спасибо!
     
    ho0kJkee нравится это.
  2. vvswarhead

    vvswarhead Старожил Пользователь

    Баллы:
    173
    Смогу только помочь советом:
    Надо найти тот класс который отвечает за окно, и собственно тот объект самого окна
    Есть метод setResizable(boolean) , надо поставить false

    Посмотри тут
    http://docs.oracle.com/javase/6/docs/api/java/awt/Frame.html
     
  3. Автор темы
    karolize

    karolize Старожил Пользователь

    Баллы:
    153
    Такой строчки не нашёл.

    Вообщем большую часть текста я понял. Но какой код запрещает разворачивать окно для меня по-прежнему загадка)
     
    ho0kJkee нравится это.
  4. ufatos

    ufatos Старожил Пользователь

    Баллы:
    143
    Skype:
    ufa_to
    какие исходники используешь?
     
    Likeobot нравится это.
  5. Автор темы
    karolize

    karolize Старожил Пользователь

    Баллы:
    153
  6. ufatos

    ufatos Старожил Пользователь

    Баллы:
    143
    Skype:
    ufa_to
    Дык, там он открывается на весь экран...
     
  7. zixel

    zixel Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    _Zixel_
    В класс LauncherFrame нужно добавить "setResizable(false);".
    Код:
    ...public LauncherFrame()
      {
        super("Minecraft Launcher");
        setResizable(false);
        setBackground(Color.BLACK);...
    Это запретит изменение размера окна лаунчера. Но поскольку сам Minecraft апплет будет запускаться в том же окне, изменить размер окошка с игрой уже будет нельзя (полно экранный режим не в счет).
    Чтобы подобного не происходило необходимо разрешить изменение окна с самой игрой, для этого в том же классе (LauncherFrame) необходимо добавить разрешение изменения окна (setResizable(true)) в void playCached и void login.
     
  8. Автор темы
    karolize

    karolize Старожил Пользователь

    Баллы:
    153
    Спасибо, помогли.
    А вот тут я немного не разобрался. Всякий раз когда впихиваю (setResizable(true)); в void playCached и void login NetBeans ругается. Вот ошибка: not a statement
    Помоги пожалуйста)
     
  9. zixel

    zixel Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    _Zixel_
    Нужно добавлять setResizable(true);
     
  10. Автор темы
    karolize

    karolize Старожил Пользователь

    Баллы:
    153
    package net.minecraft;

    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Frame;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.IOException;
    import java.net.URLEncoder;
    import java.util.HashMap;
    import java.util.Map;
    import javax.imageio.ImageIO;
    import javax.swing.JPanel;
    import javax.swing.UIManager;

    public class LauncherFrame extends Frame
    {
    public static final int VERSION = 16;
    private static final long serialVersionUID = 1L;
    public Map<String, String> customParameters = new HashMap<String, String>();
    public Launcher launcher;
    public LoginForm loginForm;

    public LauncherFrame()
    {
    super("DiaCraft Launcher");
    setResizable(false);
    setBackground(Color.BLACK);
    setBackground(Color.BLACK);
    loginForm = new LoginForm(this);
    JPanel p = new JPanel();
    p.setLayout(new BorderLayout());
    p.add(loginForm, "Center");

    p.setPreferredSize(new Dimension(851, 480));

    setLayout(new BorderLayout());
    add(p, "Center");

    pack();
    setLocationRelativeTo(null);
    try
    {
    setIconImage(ImageIO.read(LauncherFrame.class.getResource("favicon.png")));
    } catch (IOException e1) {
    e1.printStackTrace();
    }

    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent arg0) {
    new Thread() {
    public void run() {
    try {
    Thread.sleep(30000L);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    System.out.println("FORCING EXIT!");
    System.exit(0);
    }
    }
    .start();
    if (launcher != null) {
    launcher.stop();
    launcher.destroy();
    }
    System.exit(0);
    } } );
    }

    public void playCached(String userName) {
    try {
    if ((userName == null) || (userName.length() <= 0)) {
    userName = "Player";
    }
    launcher = new Launcher();
    launcher.customParameters.putAll(customParameters);
    launcher.customParameters.put("userName", userName);
    launcher.init();
    removeAll();
    add(launcher, "Center");
    validate();
    launcher.start();
    loginForm = null;
    setTitle("Minecraft");
    } catch (Exception e) {
    e.printStackTrace();
    showError(e.toString());
    }
    }

    //--------------------------------
    // public String getFakeResult(String userName) {
    // return Util.getFakeLatestVersion() + ":35b9fd01865fda9d70b157e244cf801c:" + userName + ":12345:";
    // }
    //---------------------------------

    public void login(String userName, String password) {
    try {
    String parameters = "user=" + URLEncoder.encode(userName, "UTF-8") + "&password=" + URLEncoder.encode(password, "UTF-8") + "&version=" + 16;
    String result = Util.excutePost("", parameters);
    if (result == null) {
    showError("?????????? ??????????? ? ???????!");
    loginForm.setNoNetwork();
    return;
    }
    if (!result.contains(":")) {
    if (result.trim().equals("Bad login")) {
    showError("???????????? ????? ??? ??????!");
    } else if (result.trim().equals("Old version")) {
    loginForm.setOutdated();
    showError("?????????? ???????? ???????!");
    } else {
    showError(result);
    }
    loginForm.setNoNetwork();
    return;
    }
    String[] values = result.split(":");

    launcher = new Launcher();
    launcher.customParameters.putAll(customParameters);
    launcher.customParameters.put("userName", values[2].trim());
    launcher.customParameters.put("latestVersion", values[0].trim());
    launcher.customParameters.put("downloadTicket", values[1].trim());
    launcher.customParameters.put("sessionId", values[3].trim());
    launcher.init();

    removeAll();
    add(launcher, "Center");
    validate();
    launcher.start();
    loginForm.loginOk();
    loginForm = null;
    setTitle("Minecraft");
    } catch (Exception e) {
    e.printStackTrace();
    showError(e.toString());
    loginForm.setNoNetwork();
    }
    }

    private void showError(String error) {
    removeAll();
    add(loginForm);
    loginForm.setError(error);
    validate();
    }

    public boolean canPlayOffline(String userName) {
    Launcher launcher = new Launcher();
    launcher.customParameters.putAll(customParameters);
    launcher.init(userName, null, null, null);
    return launcher.canPlayOffline();
    }

    public static void main(String[] args) {
    try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }
    catch (Exception localException) {
    }
    LauncherFrame launcherFrame = new LauncherFrame();
    launcherFrame.setVisible(true);
    launcherFrame.customParameters.put("stand-alone", "true");

    if (args.length >= 3) {
    String ip = args[2];
    String port = "25565";
    if (ip.contains(":")) {
    String[] parts = ip.split(":");
    ip = parts[0];
    port = parts[1];
    }

    launcherFrame.customParameters.put("server", ip);
    launcherFrame.customParameters.put("port", port);
    }

    if (args.length >= 1) {
    launcherFrame.loginForm.userName.setText(args[0]);
    if (args.length >= 2) {
    launcherFrame.loginForm.password.setText(args[1]);
    launcherFrame.loginForm.doLogin();
    }
    }
    }
    }
     
  11. andrey456

    andrey456 Старожил Пользователь

    Баллы:
    123
    Лови
    Код:
    package net.minecraft;
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Frame;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.IOException;
    import java.net.URLEncoder;
    import java.util.HashMap;
    import java.util.Map;
    import javax.imageio.ImageIO;
    import javax.swing.JPanel;
    import javax.swing.UIManager;
     
    public class LauncherFrame extends Frame
    {
    public static final int VERSION = 16;
    private static final long serialVersionUID = 1L;
    public Map<String, String> customParameters = new HashMap<String, String>();
    public Launcher launcher;
    public LoginForm loginForm;
     
    public LauncherFrame()
    {
    super("DiaCraft Launcher");
    setResizable(false);
    setBackground(Color.BLACK);
    setBackground(Color.BLACK);
    loginForm = new LoginForm(this);
    JPanel p = new JPanel();
    p.setLayout(new BorderLayout());
    p.add(loginForm, "Center");
     
    p.setPreferredSize(new Dimension(851, 480));
     
    setLayout(new BorderLayout());
    add(p, "Center");
     
    pack();
    setLocationRelativeTo(null);
    try
    {
    setIconImage(ImageIO.read(LauncherFrame.class.getResource("favicon.png")));
    } catch (IOException e1) {
    e1.printStackTrace();
    }
     
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent arg0) {
    new Thread() {
    public void run() {
    try {
    Thread.sleep(30000L);
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    System.out.println("FORCING EXIT!");
    System.exit(0);
    }
    }
    .start();
    if (launcher != null) {
    launcher.stop();
    launcher.destroy();
    }
    System.exit(0);
    } } );
    }
     
    public void playCached(String userName) {
    try {
    if ((userName == null) || (userName.length() <= 0)) {
    userName = "Player";
    }
    launcher = new Launcher();
    launcher.customParameters.putAll(customParameters);
    launcher.customParameters.put("userName", userName);
    launcher.init();
    removeAll();
    setResizable(true);
    add(launcher, "Center");
    validate();
    launcher.start();
    loginForm = null;
    setTitle("Minecraft");
    } catch (Exception e) {
    e.printStackTrace();
    showError(e.toString());
    }
    }
     
    //--------------------------------
    // public String getFakeResult(String userName) {
    // return Util.getFakeLatestVersion() + ":35b9fd01865fda9d70b157e244cf801c:" + userName + ":12345:";
    // }
    //---------------------------------
     
    public void login(String userName, String password) {
    try {
    String parameters = "user=" + URLEncoder.encode(userName, "UTF-8") + "&password=" + URLEncoder.encode(password, "UTF-8") + "&version=" + 16;
    String result = Util.excutePost("", parameters);
    if (result == null) {
    showError("?????????? ??????????? ? ???????!");
    loginForm.setNoNetwork();
    return;
    }
    if (!result.contains(":")) {
    if (result.trim().equals("Bad login")) {
    showError("???????????? ????? ??? ??????!");
    } else if (result.trim().equals("Old version")) {
    loginForm.setOutdated();
    showError("?????????? ???????? ???????!");
    } else {
    showError(result);
    }
    loginForm.setNoNetwork();
    return;
    }
    String[] values = result.split(":");
     
    launcher = new Launcher();
    launcher.customParameters.putAll(customParameters);
    launcher.customParameters.put("userName", values[2].trim());
    launcher.customParameters.put("latestVersion", values[0].trim());
    launcher.customParameters.put("downloadTicket", values[1].trim());
    launcher.customParameters.put("sessionId", values[3].trim());
    launcher.init();
     
    removeAll();
    add(launcher, "Center");
    validate();
    launcher.start();
    loginForm.loginOk();
    loginForm = null;
    setTitle("Minecraft");
    setResizable(true);
    } catch (Exception e) {
    e.printStackTrace();
    showError(e.toString());
    loginForm.setNoNetwork();
    }
    }
     
    private void showError(String error) {
    removeAll();
    add(loginForm);
    loginForm.setError(error);
    validate();
    }
     
    public boolean canPlayOffline(String userName) {
    Launcher launcher = new Launcher();
    launcher.customParameters.putAll(customParameters);
    launcher.init(userName, null, null, null);
    return launcher.canPlayOffline();
    }
     
    public static void main(String[] args) {
    try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }
    catch (Exception localException) {
    }
    LauncherFrame launcherFrame = new LauncherFrame();
    launcherFrame.setVisible(true);
    launcherFrame.customParameters.put("stand-alone", "true");
     
    if (args.length >= 3) {
    String ip = args[2];
    String port = "25565";
    if (ip.contains(":")) {
    String[] parts = ip.split(":");
    ip = parts[0];
    port = parts[1];
    }
     
    launcherFrame.customParameters.put("server", ip);
    launcherFrame.customParameters.put("port", port);
    }
     
    if (args.length >= 1) {
    launcherFrame.loginForm.userName.setText(args[0]);
    if (args.length >= 2) {
    launcherFrame.loginForm.password.setText(args[1]);
    launcherFrame.loginForm.doLogin();
    }
    }
    }
    }
     
    ho0kJkee и karolize нравится это.
  12. Автор темы
    karolize

    karolize Старожил Пользователь

    Баллы:
    153
    Спасибо большое, всё работает) Лови лайк.
     
  13. MrNeD

    MrNeD Старожил Пользователь

    Баллы:
    103
    Skype:
    mr_ned3
    Имя в Minecraft:
    MrNeD
    люди, как изменить размер лаунчера империя? Если в том параметре поставить true, то майн запускается в нормальном размере, а если false, то сжимается, что делать?
     
  14. MrNeD

    MrNeD Старожил Пользователь

    Баллы:
    103
    Skype:
    mr_ned3
    Имя в Minecraft:
    MrNeD
    либо как сделать, чтобы после запуска приложение разворачивалось на весь экран?
     

Поделиться этой страницей