如何让Windows屏幕放大镜跟随Java Swing输入框的输入文本?
Java Swing文本组件无法适配Windows放大镜跟随功能
我视力越来越差,平时在Windows 11系统里用系统放大镜辅助阅读屏幕内容,通过Win键加(+)或(-)就能快速调整缩放级别。在Notepad++、写字板甚至Firefox这类软件里,放大镜会自动跟随输入的文本光标,完全不用手动调整位置,用起来特别方便。
但在自己用Java Swing开发GUI时,却发现这个功能没法正常工作。输入文本时放大镜不会跟着光标移动,输入的内容很快就会移出放大镜的视野范围,必须手动调整放大镜位置才能继续查看输入内容。既然多数主流应用都支持这个功能,我推测Java Swing肯定也能实现,应该是我遗漏了相关的配置项。
以下是示例代码,运行后输入文本时放大镜不会跟随光标:
import javax.swing.text.*; import javax.swing.*; public final class Daily { public static void main(final String[] args) throws Exception {final Daily daily = new Daily();} public Daily() throws Exception { _20241214_text_box(); } public static void _20241214_text_box() { SwingUtilities .invokeLater ( () -> { final JFrame frame = new JFrame(); frame.setSize(800, 800); frame.setLocationByPlatform(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JTextComponent textBox = // new JTextField() new JTextArea() ; frame.add(textBox); frame.setVisible(true); } ); } }
内容的提问来源于stack exchange,提问作者davidalayachew
相关产品推荐
相关产品推荐

