Как добавить всплывающее меню в JTextField - PullRequest
3 голосов
/ 16 декабря 2009

Может кто-нибудь объяснить мне, как добавить всплывающее меню в JtextField? Мне удалось добавить JPopupMenu:

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

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

.....

Но когда я наведите курсор мыши на всплывающее окно, ничего не происходит (мне нужно выбрать элемент из всплывающего окна).

Ответы [ 4 ]

9 голосов
/ 08 января 2010

Из вашего комментария кажется, что вы пытаетесь отобразить подменю во всплывающем окне, которое появляется над вашим 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");

Надеюсь, я ответил на вопрос, который вы пытаетесь задать. Если нет, не могли бы вы объяснить немного больше о том, что вы пытаетесь достичь?

0 голосов
/ 16 декабря 2009

Может быть редактируемое поле со списком может подойти вам лучше.

0 голосов
/ 16 декабря 2009

Чтение API JComponent для метода setComponentPopupMenu().

0 голосов
/ 16 декабря 2009

Я не думаю, что это так просто, как выглядит рассматриваемый код. Возможно, вы захотите взглянуть на этот пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...