Like the title suggests, I'd like to have exactly one JMenuBar used in multiple JFrame's. This however doesn't seem to work. Whenever adding the JMenuBar instance to a second JFrame makes the menu disappear from the first JFrame.
See my SSCCE:
public class MenuTest extends JPanel {
private static final long serialVersionUID = -9209142740183347797L;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
private static void createAndShowGUI() {
System.out.println("Created GUI on EDT? "+ SwingUtilities.isEventDispatchThread());
JMenuBar bar = new JMenuBar();
bar.add(new JMenu("Test1"));
bar.add(new JMenu("Test2"));
bar.add(new JMenu("Test3"));
JFrame f = new JFrame("Swing Paint Demo 1");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new MenuTest());
f.setJMenuBar(bar);
f.pack();
f.setVisible(true);
JFrame f2 = new JFrame("Swing Paint Demo 2");
f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f2.add(new MenuTest());
f2.setJMenuBar(bar);
f2.pack();
f2.setVisible(true);
}
}
Might this be possible or is this prohibited?