osxlionのクライアントのようなメールクライアントを再現しようとしています。だから私は次のようなことをしなければなりません:
それを行うためのレイアウトの最良の解決策は何ですか..誰かが私にいくつかの提案を与えることができますか?ありがとう!!!
解決策は、探している全体的なレイアウトを構築するまで、互いにネストされた、いくつかの異なるレイアウトとコンポーネントを使用することです。通常、ネストされた領域ごとにJPanelsを使用し、サイズ変更可能なウィンドウ領域にはJSplitPaneを使用します。
特定の機能のために、いくつかのカスタムコンポーネントを作成する(またはサードパーティのライブラリライブラリで見つける)必要がある場合があります。
推測では、 BorderLayoutとGridBagLayoutを組み合わせて、ほとんどのメールクライアントレイアウトを実行できます。ただし、非常に柔軟な優れた汎用レイアウトマネージャーであるMigLayoutを検討することもできます。
まだ十分に行っていない場合は、優れたJavaSwingチュートリアルを実行する必要があります。
PS WindowBuilderは、迅速にプロトタイピングするための優れたツールですが、このようなより複雑なGUIデザインの場合、最終的にはそれらを手動でコーディングする方が優れていると思います。
そのスクリーンショット全体では、水平方向のボックスレイアウトが必要な場合があります(スペースを埋めるためにコンポーネントを左から右にレイアウトします)。
ただし、最も適切なサイズのUIの場合と同様に、その中に他のレイアウトをネストする必要がある場合があります。
これは、JSplitPaneを使用するためのものです。ユーザーが左と右の分割のサイズを変更できないようにする場合は、BorderLayoutを使用して左が次のように機能するようにします。
panel = new JPanel( new BorderLayout() );
panel.add( new LeftPanel(), BorderLayout.WEST );
panel.add( new CentralPanel(), BorderLayout.CENTER );
そうすれば、LeftPanelは好みの幅に応じてサイズが変更され、中央には残りの幅と高さが与えられるため、ユーザーがウィンドウを拡大および縮小するとサイズが変更されますが、左側のパネルは固定幅で拡大および縮小されます。高さ。
汎用レイアウトについて疑問に思っている場合は、TableLayoutがはるかに単純であるのに対して最も柔軟です。これを使用して克服できないレイアウトの問題は多くなく、理解しやすく(SpringLayout、GroupedLayoutなどとは対照的に)、コードがはるかに少なく、GridBagLayoutよりも堅牢です。
http://java.sun.com/products/jfc/tsc/articles/tablelayout/
しかし、あなたが説明する問題については、私はあなたがそれを使用する必要はないと思います。