X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fgui%2FI18nAction.java;h=77733aeb1c16b9cb1b1e6a515fc8f49ca36032bb;hb=b71f4f4aeb7440b88dd82a252cd296506427c440;hp=0d36f0186c4285005b7c7eeb5c426a86e02043a1;hpb=d4c6cfca50b43ce26f937132e046d54830dd6daf;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/gui/I18nAction.java b/src/net/pterodactylus/jsite/gui/I18nAction.java index 0d36f01..77733ae 100644 --- a/src/net/pterodactylus/jsite/gui/I18nAction.java +++ b/src/net/pterodactylus/jsite/gui/I18nAction.java @@ -5,6 +5,7 @@ import javax.swing.Action; import javax.swing.Icon; import net.pterodactylus.jsite.i18n.I18n; +import net.pterodactylus.jsite.i18n.I18nable; /** * Helper class that initializes actions with values from {@link I18n}. @@ -12,7 +13,10 @@ import net.pterodactylus.jsite.i18n.I18n; * @author David ‘Bombe’ Roden <bombe@freenetproject.org> * @version $Id$ */ -public abstract class I18nAction extends AbstractAction { +public abstract class I18nAction extends AbstractAction implements I18nable { + + /** The I18n basename. */ + private final String i18nName; /** * Creates a new action that uses the given name as base name to get values @@ -63,15 +67,23 @@ public abstract class I18nAction extends AbstractAction { * The icon for the action */ public I18nAction(String i18nName, boolean enabled, Icon icon) { + this.i18nName = i18nName; + if (icon != null) { + putValue(Action.SMALL_ICON, icon); + } + setEnabled(enabled); + updateI18n(); + } + + /** + * {@inheritDoc} + */ + public void updateI18n() { putValue(Action.NAME, I18n.get(i18nName + ".name")); putValue(Action.MNEMONIC_KEY, I18n.getKey(i18nName + ".mnemonic")); putValue(Action.ACCELERATOR_KEY, I18n.getKeyStroke(i18nName + ".accelerator")); putValue(Action.SHORT_DESCRIPTION, I18n.get(i18nName + ".shortDescription")); putValue(Action.LONG_DESCRIPTION, I18n.get(i18nName + ".longDescription")); - if (icon != null) { - putValue(Action.SMALL_ICON, icon); - } - setEnabled(enabled); } } \ No newline at end of file