为学校制作一个项目,包括从我的“开始框架”中扫描一些看起来像这样的东西 - > http://i.gyazo.com/21ed444ad98b441e95c69901eceaef00.png
左下角的文本字段是您扫描的ID所在的位置。为了使它看起来更干净我想把它从开始设置为焦点然后隐形。 (这甚至可以工作吗?)因此您只需扫描而不会在屏幕上看到数字。
但设定焦点对我不起作用。我已经尝试了所有这些方法
txtKlantID.grabFocus();
txtKlantID.requestFocus();
txtKlantID.requestFocusInWindow();
txtKlantID是文本字段的名称。
提前致谢
答案 0 :(得分:2)
我想从头开始设置它...但设置焦点对我不起作用。我已经尝试了所有这些方法
使用的正确方法是requestFocusInWindow()
方法。但是,除非组件显示在可见的GUI中,否则无法请求关注组件。所以基本代码的结构必须如下:
frame.pack();
frame.setVisible(true);
component.requestFocusInWindow();
可能无法始终以这种方式构造代码,并且您希望组件在创建时请求焦点。在这种情况下,您可以向组件添加AncestorListener,以便在显示时请求焦点。查看RequestFocusListener以获取为您执行此操作的代码。