#35 cjk without sixel
[fanfix.git] / src / jexer / TLabel.java
index f33a8d75f51ac7f6045f3dbc6b8d97934157af2d..38c014c26ea256441d37bb2a03c88417c49fd8c1 100644 (file)
@@ -30,6 +30,7 @@ package jexer;
 
 import jexer.bits.CellAttributes;
 import jexer.bits.MnemonicString;
+import jexer.bits.StringUtils;
 
 /**
  * TLabel implements a simple label, with an optional mnemonic hotkey action
@@ -157,7 +158,7 @@ public class TLabel extends TWidget {
         final TAction action) {
 
         // Set parent and window
-        super(parent, false, x, y, text.length(), 1);
+        super(parent, false, x, y, StringUtils.width(text), 1);
 
         mnemonic = new MnemonicString(text);
         this.colorKey = colorKey;
@@ -185,8 +186,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);
         }
     }
@@ -222,6 +223,24 @@ public class TLabel extends TWidget {
         mnemonic = new MnemonicString(label);
     }
 
+    /**
+     * Get the label color.
+     *
+     * @return the ColorTheme key color to use for foreground text
+     */
+    public String getColorKey() {
+        return colorKey;
+    }
+
+    /**
+     * Set the label color.
+     *
+     * @param colorKey ColorTheme key color to use for foreground text
+     */
+    public void setColorKey(final String colorKey) {
+        this.colorKey = colorKey;
+    }
+
     /**
      * Act as though the mnemonic shortcut was pressed.
      */