java - 从一开始就设置 JTextfield 焦点

标签 java swing focus jtextfield barcode-scanner

为学校制作一个项目,涉及从我的“起始框架”扫描一些内容,如下所示 --> http://i.gyazo.com/21ed444ad98b441e95c69901eceaef00.png

enter image description here

左下角的文本字段是您扫描的身份证件所在的位置。为了使它看起来更干净,我想将其从一开始就集中,然后隐形。 (这真的有效吗?)这样您就可以直接扫描,而不会看到屏幕上出现数字。

但是设置焦点对我来说不起作用。这些方法我都试过了

    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/

相关文章:

java - KeyListener Java

java - 如何使用 Jtable 中该行中第一个单元格的单元格编辑器编辑一行中的所有单元格?

Java Swing : Focus issue

javascript - 如何检查浏览器窗口是否处于事件状态?

java - Memcache getItemCount() 计算过期 key ?

javax.servlet.ServletException : Could not resolve view with name 'home' in servlet with name 'dispatcher'

java - 在 java 中获取字符串大小(没有可用的 Graphics 对象)

java - 如何将一维数组转换为二维数组?

java - 覆盖 Java 中的抽象方法

html - 如何为可访问性目的设计焦点大纲