private String langCode;\r
\r
public LanguageMenu() {\r
- icons.put("de", StockIcons.ICON_FLAG_DE);\r
- icons.put("el", StockIcons.ICON_FLAG_EL);\r
- icons.put("eo", StockIcons.ICON_FLAG_EO);\r
- icons.put("en", StockIcons.ICON_FLAG_EN);\r
- icons.put("es", StockIcons.ICON_FLAG_ES);\r
- icons.put("fr", StockIcons.ICON_FLAG_FR);\r
- icons.put("ja", StockIcons.ICON_FLAG_JA);\r
- icons.put("pt", StockIcons.ICON_FLAG_PT);\r
- icons.put("ru", StockIcons.ICON_FLAG_RU);\r
- icons.put("zh", StockIcons.ICON_FLAG_ZH);\r
addItems();\r
- setIcon(StockIcons.ICON_GO_HOME);\r
+ setIcon(languageIcon(_("DETECTED_LANGUAGE")));\r
\r
addMenuListener(new MenuListener() {\r
\r
localeListener = new LocaleListenerImpl(this);\r
I18n.addLocaleListener(localeListener);\r
}\r
- \r
- private final HashMap<String, Icon> icons = new HashMap<String, Icon>();\r
-\r
+ \r
private void addItems() {\r
ButtonGroup myGroup = new ButtonGroup();\r
addItem("de", _("German"), myGroup);\r
\r
radioItem = new JRadioButtonMenuItem(language);\r
itemsMap.put(code, radioItem);\r
- radioItem.setAction(new AbstractAction(language, icons.get(code)) {\r
+ radioItem.setAction(new AbstractAction(language, languageIcon(code)) {\r
\r
@Override\r
public void actionPerformed(ActionEvent arg0) {\r
@Override\r
public void setL10nMessages(Locale locale, String languageCode) {\r
setText(_("Language"));\r
+ setIcon(languageIcon(languageCode));\r
\r
if (this.isSelected()) {\r
return;\r
}\r
}\r
\r
+ public static Icon languageIcon(final String langCode) {\r
+ if ("de".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_DE;\r
+ } else if ("el".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_EL;\r
+ } else if ("eo".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_EO;\r
+ } else if ("en".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_EN;\r
+ } else if ("es".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_ES;\r
+ } else if ("fr".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_FR;\r
+ } else if ("ja".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_JA;\r
+ } else if ("pt".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_PT;\r
+ } else if ("ru".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_RU;\r
+ } else if ("zh".equals(langCode)) {\r
+ return StockIcons.ICON_FLAG_ZH;\r
+ }\r
+ Thread.dumpStack();\r
+ return StockIcons.ICON_GO_HOME;\r
+ }\r
+ \r
}\r
components[i].setFocusable(false);
}
- setL10nMessages(null, null);
+ setL10nMessages(null, _("DETECTED_LANGUAGE"));
localeListener = new LocaleListenerImpl(this);
I18n.addLocaleListener(localeListener);
}
};
button = new JButton(actionInvokeLanguageDialog);
button.setEnabled(true);
- actionInvokeLanguageDialog.putValue(Action.SMALL_ICON, StockIcons.ICON_GO_HOME);
+ actionInvokeLanguageDialog.putValue(Action.SMALL_ICON, LanguageMenu.languageIcon(_("DETECTED_LANGUAGE")));
actionInvokeLanguageDialog.putValue(Action.SHORT_DESCRIPTION, _("Language"));
button.setText("");
@Override
public void setL10nMessages(Locale locale, String languageCode) {
+ actionInvokeLanguageDialog.putValue(Action.SMALL_ICON, LanguageMenu.languageIcon(languageCode));
actionInvokeLanguageDialog.putValue(Action.SHORT_DESCRIPTION, _("Language"));
}