JXMultiSplitPane
(SwingX 1.6.2 から) を使用して、3 ペインの水平インターフェイスを実装しています。中央のペインにはJTabbedPane
2 つのタブがあります。1 つはMarkdown コードの入力に使用される (もちろんJTextArea
内の) で、もう 1 つはレンダリングされた HTML プレビューを表示するための (スクロール ペイン内) です。ユーザーがプレビュー ペインに切り替えると、エディター内のテキストが処理され、プレビュー ペインに表示されます。JScrollPane
JEditorPane
私の問題は、エディターに長い行でテキストを入力してからプレビューに切り替えると、中央のペインが拡大することです。ほんの少しだけの場合もあれば、実際の画面よりも多くのスペースを占める場合もあります。しかし、サイズ変更ハンドルの 1 つを手動で移動すると、すべてが所定の位置に戻ります。
これが発生する前にこれに対処する方法は2つしかありません。
- テキストを入力する前に、いずれかのペインのサイズを手動で変更します。
- MultiSplitLayout モデルで、中央のペインに 1 の重みを付けます。
デフォルトでは、中央のペインを拡大してほぼウィンドウ全体を占めるため、2番目のものは使用できません。
これを修正する方法はありますか?
アップデート
もう少しテストした後、手法 (2) でさえサイズを一定に保ちません。2 つのタブを切り替えると、中央のペインのサイズがわずかに変わります。
問題の一部はタブ付きペインにあると考えています。JTextArea
とはJEditorPane
同じサイズではなく、JTabbedPane
それらを切り替えるとサイズが変更されます (JEditorPane
毎回テキストをリセットしているためです。JXMultiSplitPane
ユーザーが強制的に手動でサイズ変更することにより、特定のサイズ。
したがって、サイズを固定することで問題を解決できるはずですがJTabbedPane
、ハンドルバーでサイズを変更することもできます。それを行うためのヒントはありますか?