X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2FTLabel.java;h=cc341cfa862964ed9097c425ea4d10b55627ac0c;hb=505be508ae7d3fb48122be548b310a238cfb91eb;hp=1d65976bba16f3947a3c47498cf552dcdda4f849;hpb=9f613a0c54cb97e9305fd87ce8eb2f76ac82804e;p=fanfix.git diff --git a/src/jexer/TLabel.java b/src/jexer/TLabel.java index 1d65976..cc341cf 100644 --- a/src/jexer/TLabel.java +++ b/src/jexer/TLabel.java @@ -158,9 +158,9 @@ public class TLabel extends TWidget { final TAction action) { // Set parent and window - super(parent, false, x, y, StringUtils.width(text), 1); + super(parent, false, x, y, 0, 1); - mnemonic = new MnemonicString(text); + setLabel(text); this.colorKey = colorKey; this.useWindowBackground = useWindowBackground; this.action = action; @@ -170,6 +170,27 @@ public class TLabel extends TWidget { // TWidget ---------------------------------------------------------------- // ------------------------------------------------------------------------ + /** + * Override TWidget's width: we can only set width at construction time. + * + * @param width new widget width (ignored) + */ + @Override + public void setWidth(final int width) { + // Do nothing + } + + /** + * Override TWidget's height: we can only set height at construction + * time. + * + * @param height new widget height (ignored) + */ + @Override + public void setHeight(final int height) { + // Do nothing + } + /** * Draw a static label. */ @@ -186,8 +207,8 @@ public class TLabel extends TWidget { mnemonicColor.setBackColor(background.getBackColor()); } putStringXY(0, 0, mnemonic.getRawLabel(), color); - if (mnemonic.getShortcutIdx() >= 0) { - putCharXY(mnemonic.getShortcutIdx(), 0, + if (mnemonic.getScreenShortcutIdx() >= 0) { + putCharXY(mnemonic.getScreenShortcutIdx(), 0, mnemonic.getShortcut(), mnemonicColor); } } @@ -221,6 +242,7 @@ public class TLabel extends TWidget { */ public void setLabel(final String label) { mnemonic = new MnemonicString(label); + super.setWidth(StringUtils.width(mnemonic.getRawLabel())); } /** @@ -246,7 +268,7 @@ public class TLabel extends TWidget { */ public void dispatch() { if (action != null) { - action.DO(); + action.DO(this); } }