1

カスタムのオートコンプリート 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 を「シャドー」するようにしたいと思います。どうすればそれを達成できますか?ありがとう。

4

1 に答える 1

3

ポップアップの場所は、親コンポーネントに対して相対的です

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

のすぐ下に配置する必要がありtextFieldます。

于 2013-09-05T10:56:55.773 に答える