Я работаю над приложением, в котором я использую JprogressBar. Когда я что-то делаю, работает индикатор выполнения. Я также добавил туда функции эвакуации. когда кто-то нажимает кнопку Escape на клавиатуре, тогда сфокусированный Jpanel/Jdialog/JFrame - это dispose.It работает нормально. Моя проблема в том, что JprogressBar не останавливается. Я хочу сделать это, если какой-либо Jpanel/Jdialog/JFrame закрывается с помощью кнопки escape, тогда, если у родителя есть JProgressBar, тогда он должен быть остановлен. Как я могу это сделать? Родители всех Jpanel/Jdialog/JFrame могут быть разными?Как остановить JProgressBar на родительском?
Мой побег Функциональность, как описано выше:
public static void setDisposeOnEsc(JComponent c, final Object promptControl) {
Action escape = new AbstractAction() {
{
putValue(NAME, "escape");
}
public void actionPerformed(ActionEvent e) {
JComponent source = (JComponent) e.getSource();
try {
Window window = SwingUtilities.getWindowAncestor(source);
window.dispose();
} catch (Exception ex) {
}
try {
Dialog dialog = (Dialog) source.getFocusCycleRootAncestor();
dialog.dispose();
} catch (Exception ex) {
}
try {
JFrame jFrame = (JFrame) source.getFocusCycleRootAncestor();
jFrame.dispose();
} catch (Exception ex) {
}
}
};
Object name = escape.getValue(Action.NAME);
c.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"),name);
c.getActionMap().put(name, escape);
}
Я хочу сделать что если JPanel/JDialog/JFrame, который получая расположенный по указанным выше способом, а затем, если это родитель имеет JProgressBar и работает, то его следует остановить.
Мой английский не очень хорош, поэтому, пожалуйста, игнорируйте грамматические ошибки.
Заранее спасибо.
для лучшего помогите скорее отредактировать свой вопрос с помощью [SSCCE] (http://sscce.org/), который продемонстрировал ваши проблемы с [KeyBindings] (http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding. html) и [JProgressBar] (http://docs.oracle.com/javase/tutorial/uiswing/components/progress.html), потому что в коде я не вижу никого – mKorbel