我有一个自定义自动完成的JTextField。我使用JPopupMenu来包含选择。 我想使用此方法在JTextField下弹出JPopupMenu。
Rectangle r = textField.getBounds();
popup.show(textField, (int)(r.getX()), (int)(r.getY() + textField.getHeight));
popup.setVisible(true);
当我将组件放在一个简单的JFrame中时,它可以工作。但是当我使用JScrollPane将组件放在复杂的布局中时。该位置变得随机且不一致。我希望popupMenu在任何条件下“遮蔽”textField。我如何实现这一目标?感谢。
答案 0 :(得分:3)
弹出式展示位置为relative to the parent component。
popup.show(textField, 0, textField.getHeight());
应将其放在textField
。