Как я могу получить JPopupMenu для "теневого" компонента последовательно

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

Rectangle r = textField.getBounds();
popup.show(textField, (int)(r.getX()), (int)(r.getY() + textField.getHeight));
popup.setVisible(true);

Это работает, когда я помещаю компонент в простой JFrame. Но когда я помещаю компонент в сложный макет с JScrollPane. Местоположение становится случайным и непоследовательным. Я бы хотел, чтобы popupMenu "затенял" textField в любых условиях. Как мне этого добиться? Благодарю.

1 ответ

Решение

Расположение всплывающего окна относительно родительского компонента.

popup.show(textField, 0, textField.getHeight());

следует поместить его прямо под textField,

Другие вопросы по тегам