如果单击此对话框中的按钮,如何防止将焦点移动到非模态对话框?

时间:2016-07-09 16:41:22

标签: java swing modal-dialog focus

如果单击此对话框中的按钮,如何防止将焦点移动到非模态对话框?对话框本身包含可聚焦组件(文本字段),但单击一个特定按钮应该只触发操作,将焦点放在另一个窗口中的组件上。

换句话说,如果用户点击里面的特定按钮,窗口不应该获得焦点。

1 个答案:

答案 0 :(得分:2)

从JDK 7开始,您应该可以使用:

dialog.setAutoRequestFocus( false );

在早期版本中:

dialog.setFocusableWindowState( false );
dialog.setVisible( true );
dialog.setFocusableWindowState( true );

用户仍然可以点击窗口,但在首次显示时不会获得焦点。

编辑:

button.setFocusable(false);