Preco potrebujes vytvarat dialog v tej hlavnej frameovej classe?
nestaci ti ho vytvorit az priamo pri volani konkretnej akcie v menu?
Ak to naozaj tak potrebujes, tu je jedno z moznych rieseni:
posli si ten hlavny frame do nabidky:
public class MainFrame extends JFrame {
private JDialog dialog = new JDialog();
public static void main(String[] args) {
MainFrame tester = new MainFrame();
tester.setSize(300, 200);
tester.setTitle("MainFrame");
tester.setJMenuBar(new Nabidka(tester));
tester.setVisible(true);
}
public JDialog getDialog() {
return dialog;
}
public static class Nabidka extends JMenuBar {
public Nabidka(final MainFrame mainFrame) {
JMenu menu = new JMenu("Menu");
menu.add(new AbstractAction("Show dialog from main frame") {
public void actionPerformed(ActionEvent e) {
mainFrame.getDialog().setVisible(true);
}
});
add(menu);
}
}
}