JScrollPaneのJPanelに動的に作成されたカスタムJPanelオブジェクトを表示するポップアップメニューがあります。ポップアップメニューにはユーザーへの推奨事項が表示され、一番上の要素が最も関連性の高い推奨事項です。JPopupMenuを使用してウィンドウを表示しています。
JPanelTemplatePopup jptep = new JPanelTemplatePopup();
JPopupMenu popup = new JPopupMenu();
popup.add(jptep);
popup.show(this, 500, 100);
問題は、JScrollPaneを一番上の要素までスクロールして最初に表示させることができないことです。私が試してみました:
- .getViewPort()。setViewPosition(new Point(0,0));
- .scrollRectToVisible(firstelement.getBounds());
validate()の前後。私が何をしても、ウィンドウがポップアップすると、スクロールペインは常に同じ場所にとどまります。
ウィンドウを表示する前に行われた操作が無視されているのではないかと思ったので、クラスからパブリックメソッドを作成して呼び出し、表示後にウィンドウを上にスクロールさせました。何も変わっていません。
助けてください、
エムレ