JavaGUI:如何在JFrame上的JPanel中设置对JButton的关注?

JavaGUI:如何在JFrame上的JPanel中设置对JButton的关注?,java,swing,user-interface,Java,Swing,User Interface,我已经进行了实验和搜索,但我似乎不知道我认为什么是简单的,当我的小GUI应用程序启动时,让我的开始按钮具有焦点,即,用户所要做的就是按下回车键,这将产生与他们用鼠标单击开始按钮相同的效果。这是我的密码。谢谢你的帮助:) 将焦点线移到方法的末尾 并将其更改为 start.requestFocus(); // without params 试试这个代码。。我所做的就是在末尾移动requestFocus()方法 基本上,要让它在按下enter键时做出响应,以及在默认情况下使其处于聚焦状态,需要做两

我已经进行了实验和搜索,但我似乎不知道我认为什么是简单的,当我的小GUI应用程序启动时,让我的开始按钮具有焦点,即,用户所要做的就是按下回车键,这将产生与他们用鼠标单击开始按钮相同的效果。这是我的密码。谢谢你的帮助:)


将焦点线移到方法的末尾

并将其更改为

start.requestFocus();  // without params

试试这个代码。。我所做的就是在末尾移动
requestFocus()
方法

基本上,要让它在按下enter键时做出响应,以及在默认情况下使其处于聚焦状态,需要做两件事

frame.getRootPane().setDefaultButton(start);
start.requestFocus();


若我理解你们的意思,那个么当用户点击回车键时,你们想做一个开始按钮的点击事件。如果是这种情况,您可以按如下方式进行:

jFrame.getRootPane().setDefaultButton(start);// 'start' will be your start button

如果您只想在开始按钮上获得焦点,则在结束时移动
requestFocus()
方法(在您使帧可见之后),而无需在其中传递
true
。另外,如java文档中所述,最好使用
requestFocusInWindow()
然后使用
requestFocus()

如果希望
start
按钮获得焦点,请在最后执行此操作

//This button will have the initial focus.
start.requestFocusInWindow(); 
这项工作并不容易,因为它来自本机操作系统,而且非常异步

1) 在一个容器内,通过将其包装到invokeLater()中来工作


2) ,作者@camickr

+1,感谢他对所有回答的人表示感谢。祝你工作顺利。我很抱歉。我是新来的,犯了个新手错误。我知道,我知道。再一次,我非常抱歉。下次我将寻找第一个也是最好的答案。
jFrame.getRootPane().setDefaultButton(start);// 'start' will be your start button
//This button will have the initial focus.
start.requestFocusInWindow();