2016-05-09 9 views
0

私は複数のレベルを下に行くことができるメニューを表示する必要があるこの要件があります。今度は各レベルでメニューに多くのオブジェクトがあります。つまり、メニューにスクロールバーを表示する必要があります。javaマルチレベルのスクロール可能なポップアップメニュー

1 
1->1 
1->2 
2 

メニューにスクロールバーを導入するカスタムクラス 'JScrollPopupMenu'を書くことができます。今、私は最初のポップアップメニューを制御することができますが、次のレベルのメニューのために私は 例を作成されるポップアップメニューに対する制御がない:上記の例で

//this is the first pop-up menu 
JPopupMenu scrollablePopupMenu = new JScrollPopupMenu(); 
JMenu menu = new JMenu("1"); 
scrollablePopupMenu.add(menu); 
menu = new JMenu("2"); 
scrollablePopupMenu.add(menu); 
//this is the child menu for "1", I have no control over //childMenu.getPopupMenu(), this is created internally inside JMenu 
JMenu childMenu = new JMenu("1->1"); 
menu.add(childMenu); 
childMenu = new JMenu("1->2"); 
menu.add(childMenu); 

、最初のレベルのポップアップをスクロールバーがありますが、次のレベルのポップアップは表示されません。これがどのように達成できるのか?

+1

すぐに役立つようにするには、[MCVE]または[ショート、自己完結型、正しい例](http://www.sscce.org/)を投稿してください。 –

答えて

1

メニュー項目が多い場合は、GUIデザインを再考する必要があります。

1)ユーザビリティのサムルールでは、8つ以上の選択肢をグループに表示しないでください。

2)Windowsのスタートメニューにスクロール可能なメニューがあるので、それは良い例にはなりません。実際、マイクロソフトでは、代わりに検索することに賛成していました。巨大なスクロール可能なメニューはユーザーフレンドリーではないからです。

関連する問題