2016-06-21 7 views
0

ポップアップメニューのMenuItems(> 100)が長いリストで、デフォルトの1列ではなく複数の列に入れたいと思っていました。それが唯一の単一の列に表示される理由は分からないがコントロールのためのGridLayout提供するのにもかかわらずJFace/swtの複数の列にMenuItemを表示

public class CodeSnippet { 

    public static void main (String [] args) { 
     Display display = new Display(); 
     Shell shell = new Shell (display); 
     final Composite c2 = new Composite(shell, SWT.NONE); 
     c2.setLayout(new GridLayout(2,true)); 
     Menu menu = new Menu(c2); 
     for (int i=0; i<8; i++) { 
      MenuItem item = new MenuItem (menu, SWT.RADIO); 
      item.setText ("Item " + i); 
     } 

     shell.setMenu (menu); 
     shell.setSize (300, 300); 
     shell.open(); 
     while (!shell.isDisposed()) { 
      if (!display.readAndDispatch()) display.sleep(); 
     } 
     display.dispose(); 
    } 

} 

メニューに使用: は、以下のコードが、成功していないとしようとしました。

何か手がかりが役に立ちます。

答えて

0

メニュー内のアイテムのレイアウトを制御することはできません。レイアウトは、使用しているプラ​​ットフォームのネイティブコードによって決まります。

+0

Greg-449、多くの感謝の必要な情報のため。しかし、何とか私はポップメニューのメニュー項目の長いリストを収容する必要があります。ポップアップメニューにテーブルを追加することは可能ですか?アイデアは、メニュー項目の代わりにボタンを作成し、それらをテーブルに配置し、ユーザーがメニュー上を移動するときにテーブルを表示することです。 – lifeline2

+0

私は最後の返事が私の最後から少しばかりだったと思います。ごめんなさい。私はちょうどマウスリスナーを追加し、ユーザーが同じメニューを表示するときにボタンでいっぱいのテーブルを表示する必要があります。とりあえずありがとう。 – lifeline2

関連する問題