Fix YMS bug
This commit is contained in:
@@ -438,16 +438,37 @@ public class J3270App extends JFrame implements ConnectionListener, ScreenUpdate
|
||||
}
|
||||
}
|
||||
|
||||
// Configure logging over the absolute root logger
|
||||
// Configure logging for application packages
|
||||
Logger globalRoot = Logger.getLogger("");
|
||||
for (java.util.logging.Handler h : globalRoot.getHandlers()) {
|
||||
globalRoot.removeHandler(h);
|
||||
}
|
||||
globalRoot.setLevel(debug ? Level.ALL : Level.WARNING);
|
||||
globalRoot.setLevel(Level.WARNING);
|
||||
|
||||
ConsoleHandler handler = new ConsoleHandler();
|
||||
handler.setLevel(Level.ALL);
|
||||
handler.setLevel(debug ? Level.ALL : Level.INFO);
|
||||
handler.setFormatter(new SimpleFormatter());
|
||||
globalRoot.addHandler(handler);
|
||||
|
||||
Logger appLogger = Logger.getLogger("org.pubvm.j3270");
|
||||
appLogger.setLevel(Level.ALL);
|
||||
appLogger.addHandler(handler);
|
||||
appLogger.setUseParentHandlers(false);
|
||||
|
||||
Logger libLogger = Logger.getLogger("org.lib3270j");
|
||||
libLogger.setLevel(Level.ALL);
|
||||
libLogger.addHandler(handler);
|
||||
libLogger.setUseParentHandlers(false);
|
||||
|
||||
try {
|
||||
java.util.logging.FileHandler fileHandler = new java.util.logging.FileHandler("j3270.log", 10 * 1024 * 1024, 1, false);
|
||||
fileHandler.setLevel(Level.ALL);
|
||||
fileHandler.setFormatter(new SimpleFormatter());
|
||||
appLogger.addHandler(fileHandler);
|
||||
libLogger.addHandler(fileHandler);
|
||||
log.info("Logging protocol trace to j3270.log");
|
||||
} catch (Exception e) {
|
||||
System.err.println("Could not create j3270.log: " + e.getMessage());
|
||||
}
|
||||
|
||||
// Load INI config file if specified
|
||||
if (configFile != null) {
|
||||
|
||||
@@ -889,10 +889,20 @@ public class TerminalPanel extends JPanel {
|
||||
if (faIsHigh(currentFA & 0xFF))
|
||||
bold = true;
|
||||
|
||||
// Handle invisible fields (zero intensity)
|
||||
// Handle invisible fields (zero intensity / password fields)
|
||||
// Modern UX: render '*' for typed characters so user sees length/digit count
|
||||
if (faIsZero(currentFA & 0xFF)) {
|
||||
g2.setColor(this.bgColor);
|
||||
g2.fillRect(x, y, cellWidth, cellHeight);
|
||||
|
||||
char ch = ea.ucs4;
|
||||
if (ch > 0x20 && ch != 0xFF) {
|
||||
Font f = bold ? terminalFont.deriveFont(Font.BOLD) : terminalFont;
|
||||
g2.setFont(f);
|
||||
g2.setColor(fgColor);
|
||||
g2.drawString("*", x, y + fontAscent);
|
||||
}
|
||||
|
||||
if (isCellSelected(row, col)) {
|
||||
g2.setColor(SELECTION_COLOR);
|
||||
g2.fillRect(x, y, cellWidth, cellHeight);
|
||||
|
||||
Reference in New Issue
Block a user