0

私は Java Swing アプリケーションを持っており、スクロール可能な特別なサブ JPopupMenu を作成したので、ユーザーはこのスクリーンショットのようにスクロールして項目を 1 つ選択できます。

ここに画像の説明を入力

この投稿のコードを使用し、ここに貼り付けて確認できるようにしました: http://codeshare.io/Jgqa7

ユーザーがそのサブメニューから以前に選択した項目のこのサブメニューを開いた場合、選択された項目に自動的にスクロールして表示したいと思います。 ) JList のメソッド。私はこれを理解しようとしてしばらく時間を費やしましたが、進歩はありません。それで、これを達成する方法はありますか?

-------------------------------------------------- ------>編集:私が使用しているコード:

このコードを使用して、スクロール可能なメニューの「発明された」アイテムに強制的にスクロールしようとしましたが、失敗しました:

JScrollPopupMenu pm = (JScrollPopupMenu)myPopupMenu.getPopupMenu();

for( Component comp: myPopupMenu.getMenuComponents() ) {
    if( comp instanceof JRadioButtonMenuItem ) {
        JRadioButtonMenuItem rb = (JRadioButtonMenuItem)comp;

        if( rb.getText().equals( "invented" ) ) {
            myPopupMenu.scrollRectToVisible( rb.getBounds() );  // Does nothing.
            pm.setSelected( rb );  // Does nothing.
        }
    }
}

何らかの理由で、必要な項目までスクロールしません!

4

1 に答える 1