package net.minecraft.launcher.ui.sidebar;
import net.minecraft.launcher.Launcher;
import net.minecraft.launcher.locale.LocaleHelper;
import org.hopto.energy.LangSelection;
import org.hopto.energy.Util;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.Locale;
import java.util.ResourceBundle;
/**
* Created by Energy on 13年7月4日.
*/
public class OptionPanelForm extends SidebarGridForm{
private final Launcher launcher;
private static ResourceBundle resourceBundle = LocaleHelper.getMessages();
private JComboBox<Locale> langList =new JComboBox<Locale>(LocaleHelper.getLocales());
private JButton btnChangeLang=new JButton(resourceBundle.getString("change.language"));
public OptionPanelForm(Launcher launcher) {
super(resourceBundle.getString("options"));
this.launcher = launcher;
langList.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JComboBox cb = (JComboBox)e.getSource();
Locale locale = (Locale)cb.getSelectedItem();
updateLocale(locale);
}
});
langList.setSelectedItem(LocaleHelper.getCurrentLocale());
btnChangeLang.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
LangSelection.selectLang();
//Launcher.getInstance().getFrame().getRootPane().updateUI();
//SwingUtilities.updateComponentTreeUI(Launcher.getInstance().getFrame());
// Launcher.getInstance().getFrame().getWindowListeners()[0].windowClosing(null);
/* try {
Main.main(new String[0]);
} catch (IOException ex) {
//Logger.getLogger(OptionPanelForm.class.getName()).log(Level.SEVERE, null, ex);
}*/
try {
Util.restartApplication();
} catch (URISyntaxException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
createInterface();
applyOptions();
}
private void applyOptions() {
}
@Override
protected void populateGrid(GridBagConstraints constraints) {
add(new JLabel(resourceBundle.getString("language"), 2), constraints, 0, 0, 0, 1, 17);
add(this.langList, constraints, 1, 0, 1, 1);
add(btnChangeLang,constraints,0,1,0,1,17);
}
private void updateLocale(Locale locale) {
LocaleHelper.setCurrentLocale(locale);
}
}