X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2FTPasswordField.java;h=0be2b98ce3ff73e0a9668b621f2639df791f0c1d;hb=505be508ae7d3fb48122be548b310a238cfb91eb;hp=1b78fc8b8db65256bf18b555004c078333da1b98;hpb=1dac6b8d395e2bf3c1b58915f8f4f481d9e46793;p=fanfix.git diff --git a/src/jexer/TPasswordField.java b/src/jexer/TPasswordField.java index 1b78fc8..0be2b98 100644 --- a/src/jexer/TPasswordField.java +++ b/src/jexer/TPasswordField.java @@ -29,10 +29,11 @@ package jexer; import jexer.bits.CellAttributes; -import jexer.bits.GraphicsChars; +import jexer.bits.StringUtils; /** - * TField implements an editable text field. + * TPasswordField implements an editable text field that displays + * stars/asterisks when it is not active. */ public class TPasswordField extends TField { @@ -111,15 +112,16 @@ public class TPasswordField extends TField { } int end = windowStart + getWidth(); - if (end > text.length()) { - end = text.length(); + if (end > StringUtils.width(text)) { + end = StringUtils.width(text); } hLineXY(0, 0, getWidth(), backgroundChar, fieldColor); if (showStars) { hLineXY(0, 0, getWidth() - 2, '*', fieldColor); } else { - putStringXY(0, 0, text.substring(windowStart, end), fieldColor); + putStringXY(0, 0, text.substring(screenToTextPosition(windowStart), + screenToTextPosition(end)), fieldColor); } // Fix the cursor, it will be rendered by TApplication.drawAll().