У меня есть ситуация, когда я показываю диалог, в котором пользователь должен заполнить некоторые меню, а затем нажать ОК. Это работает нормально, но теперь у меня есть другая кнопка в этом диалоговом окне, которая, если пользователь хочет добавить какое-то определенное значение, я хочу, чтобы всплыло другое диалоговое окно, где пользователь заполняет дополнительное значение, и, нажимая кнопку ОК, это диалоговое окно исчезает, и пользователь возвращается к главному диалог.
Я пробовал это, но каждый раз, когда я вызываю новый диалог, фокус не уходит от основного диалога, как я могу сделать такую задачу.
Есть ли уместный пример или как правильно делать такие вещи?
РЕДАКТИРОВАТЬ:
public static class EdgeMenu extends JPopupMenu {
// private JFrame frame;
public MyMenu(final JFrame frame) {
super("My Menu");
// this.frame = frame;
this.addSeparator();
this.add(new EdgePropItem(frame));
}
}
//this shows the first dialog, another class because i have some other
//functions to be performed here
public static class EdgePropItem extends JMenuItem{
//...
public EdgePropItem(final JFrame frame) {
super("Edit Properties");
this.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
EdgePropertyDialog dialog = new EdgePropertyDialog(frame, edge);
dialog.setVisible(true);
}
});
}
}
и теперь в другом диалоге, в кнопке даже слушатель я пытаюсь вызвать другой диалог:
private void newDialogHandler(java.awt.event.ActionEvent evt) {
MyNewDialog rdialog = new MyNewDialog(edge);
rdialog.setVisible(true);
}
Выглядит нормально, но предыдущее диалоговое окно не покидает фокус, и оно исчезает, только если я нажимаю «Готово / Готово» в этом диалоговом окне, то, что я хочу, это чтобы новое диалоговое окно было в фокусе, при этом нажимая «ОК» здесь , фокус должен вернуться к старому главному диалогу, но он не работает?