使用Swing开发GUI。
我有一个自定义对话框,用于选择要在应用程序中打开的文件。它的类扩展javax.swing.JDialog
并包含a和其他组件,JFileChooser
可以将其切换为显示或隐藏。
该JFileChooser
组件已经可以单独处理ESC键:当显示文件选择器(嵌入在我的对话框中)并且按ESC时,文件选择器将隐藏自身。
现在,我希望对话框执行相同的操作:当我按ESC时,我希望对话框关闭。请注意,当显示嵌入式文件选择器时,ESC键应仅将其隐藏。
有任何想法吗 ?
使用InputMap
和ActionMap
处理Swing中的关键操作。要干净地关闭对话框,请向其发送一个关闭窗口事件。
从我的博客:
private static final KeyStroke escapeStroke =
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
public static final String dispatchWindowClosingActionMapKey =
"com.spodding.tackline.dispatch:WINDOW_CLOSING";
public static void installEscapeCloseOperation(final JDialog dialog) {
Action dispatchClosing = new AbstractAction() {
public void actionPerformed(ActionEvent event) {
dialog.dispatchEvent(new WindowEvent(
dialog, WindowEvent.WINDOW_CLOSING
));
}
};
JRootPane root = dialog.getRootPane();
root.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
escapeStroke, dispatchWindowClosingActionMapKey
);
root.getActionMap().put( dispatchWindowClosingActionMapKey, dispatchClosing
);
}
问题内容: 我有一个EditText用于输入的对话框。当我单击对话框上的“是”按钮时,它将验证输入,然后关闭对话框。但是,如果输入错误,我希望保留在同一对话框中。每次无论输入什么,当我单击“否”按钮时,都应自动关闭对话框。如何禁用此功能?顺便说一句,我在对话框上的按钮上使用了PositiveButton和NegativeButton。 问题答案: 编辑:这仅在API 8+上有效,如某些注释所述。
我有一个JFrame调用一个新的JDialog,这个JDialog有一个关闭它的按钮。 当JDialog关闭时,JFrame应该重新绘制。但是当我用按钮关闭JDialog时,什么也不会发生,当我用经典的“X”按钮关闭时,就不会发生这种情况。 这是来自JFrame的windowListener: 这里是JDialog中关闭JDialog的按钮的代码: 就像我说的,监听器中的JFrame需要在JDia
我正在安装我的应用程序,然后使用主活动保存数据,并转到另一个片段活动。下一次我启动我的应用程序时,总是预览第二个片段,然后按“返回”键返回主活动,但我不想返回主活动。我想按后退按钮关闭我的应用程序。我试试这个
我有一个带有searchView图标的操作栏。我点击searchView图标,出现softInputMode键盘,我的ListView出现用于搜索。但是,当您关闭searchView时,searchView会关闭,但我无法让ListView在searchView关闭时也关闭。 下面是我在activity_maps中的ListView代码。xml 地图ctivity.java 所以最初当MapsAc
我有一个JavaFX应用程序,它最初将显示一个登录对话框,供用户输入用户名和密码。请参阅下面的源代码。 如果用户单击“连接”按钮,应用程序将使用输入的用户名和密码执行登录,隐藏登录对话框,然后显示主窗口。 如果用户点击“退出”按钮或“X”关闭按钮,将显示一个警报以获得用户的确认。如果用户确认,则应用程序退出。 我的问题是当登录对话框显示时用户按Escape键会发生什么。当按下此键时,将显示退出确认
问题内容: 如何删除由jQuery UI创建的对话框上的关闭按钮(右上角的 X )? 问题答案: 我发现这最终成功了(请注意,第三行覆盖了打开功能,该功能查找按钮并将其隐藏): 要隐藏所有对话框上的关闭按钮,您也可以使用以下CSS: