为学校制作一个项目,涉及从我的“起始框架”扫描一些内容,如下所示 --> http://i.gyazo.com/21ed444ad98b441e95c69901eceaef00.png
左下角的文本字段是您扫描的身份证件所在的位置。为了使它看起来更干净,我想将其从一开始就集中,然后隐形。 (这真的有效吗?)这样您就可以直接扫描,而不会看到屏幕上出现数字。
但是设置焦点对我来说不起作用。这些方法我都试过了
txtKlantID.grabFocus();
txtKlantID.requestFocus();
txtKlantID.requestFocusInWindow();
txtKlantID 是文本字段的名称。
提前致谢
最佳答案
i want to set it focused from start... But setting the focus does not work for me. I've tried all these methods
正确使用的方法是 requestFocusInWindow()
方法。但是,除非组件显示在可见的 GUI 中,否则您无法请求对组件的焦点。所以基本代码的结构必须如下:
frame.pack();
frame.setVisible(true);
component.requestFocusInWindow();
可能并不总是能够以这种方式构建代码,并且您希望组件在创建时请求焦点。在这种情况下,您可以向组件添加一个 AncestorListener,以便在显示时请求焦点。查看RequestFocusListener为您执行此操作的代码。
关于java - 从一开始就设置 JTextfield 焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28917331/