Question

This is probably a dumb question, but I just can't see it! I have Swing app that uses a popup menu. It works fine, but I want to make the menu persistent (i.e. until I close it). I have basically changed the JPopupMenu to JDialog, and I am getting the JDialog panel, but the menu items are invisible! It's probably something very obvious, so I'll probably be embarrassed! Here is part of the code:

  JDialog buildNewItemMenu(DrawFBP base) {
    JDialog jd = new JDialog();
    jd.setSize(200, 300);
    JMenuItem menuItem = null;
    JLabel label2 = new JLabel();
    label2.setForeground(Color.BLUE);
    JMenu menu = new JMenu();       
    jd.add(menu);       
    jd.setVisible(true);
    menu.setVisible(true);
    menu.add(label2);
    menu.addSeparator();
    menuItem = new JMenuItem("Component");
    menuItem.addActionListener(base);
    menu.add(menuItem);
    ....
    menu.addSeparator();
    menuItem = new JMenuItem("Enclosure");
    menuItem.addActionListener(base);
    menu.add(menuItem);     
    return jd;
Was it helpful?

Solution

I think I will close this - as I said in the comment, changing the JMenu to a JPanel and adding

  panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS)); 

fixed the problem, but I plan to tackle the problem a different way. Thanks anyway!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top