将焦点设置为文本字段


问题内容

我有一个用netbeans开发的应用程序,我想在jTextField显示面板时将焦点设置为一定。我已经阅读了许多文章,并尝试了各种方法,但没有奏效。主要问题之一是在哪里放置所需的代码,我认为在我的情况下是this.txtMessage.requestFocusInWindow();

有一些指示使用Window
Listener的帖子,但是随着netbeans生成GUI,我无法看到如何实现接口,因为我无法编辑创建jPANEL等的代码。整个过程非常令人沮丧,我真的没有相信这应该很困难。

就像测试一样,我requestFocusInWindow();在面板上的按钮上添加了,它确实将焦点设置为所需的输入。


问题答案:

我遇到过类似的情况,当显示面板时,需要将焦点设置在面板中的文本框上。该面板是在应用程序启动时加载的,因此无法在构造函数中设置焦点。由于没有加载面板或没有将焦点放在显示上,这意味着我没有活动可以触发焦点请求。

为了解决这个问题,我在我的main中添加了一个全局方法,该方法在面板requestFocusInWindow()上的文本区域中调用了一个方法。在要显示的调用
之后 ,我将对全局方法的调用放在显示面板的按钮中。这意味着将显示该面板,然后在显示该面板后,文本区域将分配焦点。希望这有道理并能有所帮助!

另外,您可以通过右键单击设计视图中的对象并选择自定义代码来编辑大多数自动生成的代码,但是我认为它不允许您编辑面板。