package main; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.WindowConstants; import javax.swing.event.MenuEvent; import java.awt.Dimension; @SuppressWarnings("serial") public class ApplicationFrame extends JFrame { protected static ApplicationFrame instance; private ApplicationFrame() { setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); buildGui(); setSize(new Dimension(getToolkit().getScreenSize())); setVisible(true); } private void buildGui() { final JMenu menu = new JMenu("Menu"); menu.addMenuListener( new MenuAdapter() { @Override public void menuSelected(@SuppressWarnings("unused") final MenuEvent event) { menu.removeAll(); for (int i = 0; i < 3; ++i) { menu.add(new JMenuItem("Item " + i)); } } } ); final JMenuBar menuBar = new JMenuBar(); menuBar.add(menu); setJMenuBar(menuBar); } public static ApplicationFrame getInstance() { if (instance == null) { instance = new ApplicationFrame(); } return instance; } }