如何将弹出菜单添加到JTextField

时间:2009-12-16 06:43:31

标签: java

有人可以解释一下如何在JtextField上添加弹出菜单吗?我设法添加了一个JPopupMenu:

JPopupMenu popup = new JPopupMenu();
    popup.add("m");
popup.add("n"); 

JTextField textField = new JTextField();
textField.add(popup);

.....

但是当我将鼠标滑过“弹出窗口”时,没有任何事情发生(我需要从弹出窗口中选择一个项目)。

4 个答案:

答案 0 :(得分:9)

从您的评论中,听起来您正试图在JTextField上显示的弹出窗口中显示子菜单。

// 1. Let's add the initial popup to the text field.
JTextField textField = new JTextField();
JPopupMenu popup = new JPopupMenu();
textField.add(popup);
textField.setComponentPopupMenu(popup);

// 2. Let's create a sub-menu that "expands"
JMenu subMenu = new JMenu("m");
subMenu.add("m1");
subMenu.add("m2");

// 3. Finally, add the sub-menu and item to the popup
popup.add(subMenu);
popup.add("n");

希望我回答你要问的问题。如果没有,你能解释一下你想要完成的事情吗?

答案 1 :(得分:0)

我认为它不像有问题的代码那样直截了当。 您可能需要查看此example

答案 2 :(得分:0)

也许editable combo box可能更适合你。

答案 3 :(得分:0)

阅读setComponentPopupMenu()方法的the JComponent API