Combobox中的子菜单

时间:2011-03-15 18:04:45

标签: java swing jcombobox jpopupmenu

JComboBox有一个add(PopUpMenu)和一个add(JMenuItem)

我的课程扩展了JComboBox。我创建了一个JPopUpMenu,但是当我点击JComboBox时它无法显示。相反,没有显示任何内容。有什么想法吗?



    JPopupMenu Pmenu = new JPopupMenu();
    JMenu textAndDataMenu = new JMenu("Text and Data");

    HashMap textAndData = new HashMap();

    public ComboMenu()
    {
        super();
        setUpTextAndData();
        add(Pmenu);  //----------this is where I add the menu

    }

    public void setUpTextAndData()
    {
        textAndData.put("Basic Text Box", TextBox.class);
        textAndData.put("Clear Text Box", ClearTextBox.class);
        textAndData.put("Table", Table.class);
        textAndData.put("Interactive Table", InteractiveTable.class);
        textAndData.put("Graph", Graph.class);

        Set textAndDataKeys = textAndData.keySet();
        JMenuItem newMenuItem;
        for(String currKey : textAndDataKeys)
        {
            newMenuItem = new JMenuItem(currKey);
            newMenuItem.addActionListener(this);
            textAndDataMenu.add(newMenuItem);
        }

        Pmenu.add(textAndDataMenu);
    }

1 个答案:

答案 0 :(得分:0)

编辑:没关系......你知道,我有一段时间没有弄乱这些。

我认为您需要做的就是:

Pmenu.setInvoker(this);

在构造函数中添加它之前。