2017-10-17 7 views
1

CN1アプリケーションのネストされたサイドメニューを作成しようとしていますが、これはスクリーンショットのものと似ています。コードネームネストされたサイドメニュー

ネストされたサイドメニューが機能するためには、ユーザーがドロップダウンリストのコマンドを押したときに開いておく必要があるため、オプションを選択できます。 しかし、CN1のsidemenuが毎回閉じているように見えて、回避策を見つけることができませんでした。

「ハンバーガーメニュー」にアクションイベントを追加しようとしていたアプローチがありましたが、これは機能していないようです。

Button sideBtn = (Button)((BorderLayout)bar.getLayout()).getEast(); 
    sideBtn.addActionListener(new ActionListener(){ 
     @Override 
     public void actionPerformed(ActionEvent evt) { 
      Toolbar.setPermanentSideMenu(true); 
     }; 

他のボタンのアクションイベントにToolbar.setPermanentSideMenu(true)を追加しません。

私は念頭に置いておくべきことは、サイドメニューに隠しボタンを追加し、ボタンがクリックされたときにツールバーを再描画することですが、それでもサイドメニューを開いておらず、直接的ではないようです。

もっと簡単なことはありますか?最善のアプローチは何でしょうか?

ありがとうございました。 enter image description here

答えて

1

setPermanentSideMenuの方法は、あなたがしようとしているものではなく、タブレット用に設計されています。 init(Object)メソッドが呼び出された後でそれを切り替えることは意味をなさないので、アプリが壊れる可能性があります。

ボタンをサイドメニューに追加した方法は記載されていませんが、addComponentToSideMenu(Component)を使用してボタンを追加すると効果があります(Commandを受け入れるバージョンは使用していません)。

+0

シャイ、ハンバーガーメニューボタンをタップし、ハンバーガーボタンが再びタップされるまでサイドメニューを恒久的に開いたままにする方法はありますか? – rainer

+0

サイドメニューは、コマンドによって暗黙的に、またはサイドメニュー境界の外側をタップすることによって閉じられます。コマンドを追加してコンポーネントを追加しないと、閉じられません –

+0

多くの感謝、シャイ....あなたの時間と忍耐のために – rainer

関連する問題