JSplitPane で setOneTouchExpandable(true) と setEnabled(false) を設定して、ユーザーが left または right のみを展開できるようにします。しかし、私が実際に望んでいるのは、左側のパネルを左側に折りたたむか、デフォルトの位置にとどめることです。(そのため、setEnabled(false) を設定します)。
これを達成する簡単な方法はありますか?コードのヘルプやスニペットは大歓迎です!
JSplitPane で setOneTouchExpandable(true) と setEnabled(false) を設定して、ユーザーが left または right のみを展開できるようにします。しかし、私が実際に望んでいるのは、左側のパネルを左側に折りたたむか、デフォルトの位置にとどめることです。(そのため、setEnabled(false) を設定します)。
これを達成する簡単な方法はありますか?コードのヘルプやスニペットは大歓迎です!
短い答えは「いいえ」です。
長い答えは「はい」です。長期的なニーズを最終的に満たさない可能性のある多くの作業があります。
私はコードを掘り下げて、「ワンタッチ」矢印がBasicSplitPaneDividerUI
(ほとんどの場合)によって構築されていることを発見しました。その責任の一部として、2 つのサイズ変更ボタンを作成します。
この UI デリゲートに 1 つの矢印のみをレンダリングするように指示したり、発生したアクション イベントをトラップする方法を指定したりするためのプロパティを提供することはできません。
したがって、2 つの選択肢が残ります。
JSplitPanes
コンテナの階層をたどって JButton を見つけます。次に、独自のアクションリスナーをそれらにアタッチするか、それらを完全に置き換えます。