From 5ca8ced84af2611e3daab76762be62dffd491ced Mon Sep 17 00:00:00 2001 From: Radek Davidek Date: Tue, 7 Apr 2026 15:18:59 +0200 Subject: [PATCH] fixed cursor color --- .../java/cz/kamma/jkeepass/KeepassApp.java | 34 ++++++------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/src/main/java/cz/kamma/jkeepass/KeepassApp.java b/src/main/java/cz/kamma/jkeepass/KeepassApp.java index 29a44b3..33d2a98 100644 --- a/src/main/java/cz/kamma/jkeepass/KeepassApp.java +++ b/src/main/java/cz/kamma/jkeepass/KeepassApp.java @@ -1,6 +1,7 @@ package cz.kamma.jkeepass; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Frame; @@ -155,30 +156,6 @@ public class KeepassApp extends JFrame { } } - private JFrame createRestoreFrame() { - JFrame restoreFrame = new JFrame("JKeepass - Click to Restore"); - restoreFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); - restoreFrame.setAlwaysOnTop(true); - restoreFrame.setUndecorated(true); - restoreFrame.setOpacity(0.85f); - restoreFrame.setSize(160, 60); - restoreFrame.setLocation(20, 20); - restoreFrame.setType(JFrame.Type.UTILITY); - - JButton restoreBtn = new JButton("Restore JKeepass"); - restoreBtn.setFont(restoreBtn.getFont().deriveFont(12f)); - restoreBtn.addActionListener(e -> { - setVisible(true); - setExtendedState(JFrame.NORMAL); - toFront(); - requestFocus(); - restoreFrame.dispose(); - }); - - restoreFrame.add(restoreBtn); - return restoreFrame; - } - private void minimizeToCustomTray() { // Lock and minimize lockDatabase(); @@ -940,6 +917,15 @@ public class KeepassApp extends JFrame { public static void main(String[] args) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + + // Fix caret visibility in dark themes by ensuring it uses text foreground color + Color textColor = UIManager.getColor("TextField.foreground"); + if (textColor == null) textColor = Color.BLACK; + + UIManager.put("TextField.caretForeground", textColor); + UIManager.put("PasswordField.caretForeground", textColor); + UIManager.put("TextArea.caretForeground", textColor); + } catch (Exception ignored) {} SwingUtilities.invokeLater(() -> {