私は Swing を使用して Java で基本的な UI を設計する任務を負っていますが、レイアウトに行き詰まっています。これに似たものを作成したいのですが、GridBagLayout を使用しようとすると、非常に厄介な結果が生じました。GUIをこのようにレイアウトする方法について、誰かがヒントを提供できますか?
2 つのタブを追加する JTabbedPane があり、これらの 2 つのタブのそれぞれに、コントロールを含む JPanel を追加します。
私は Swing を使用して Java で基本的な UI を設計する任務を負っていますが、レイアウトに行き詰まっています。これに似たものを作成したいのですが、GridBagLayout を使用しようとすると、非常に厄介な結果が生じました。GUIをこのようにレイアウトする方法について、誰かがヒントを提供できますか?
2 つのタブを追加する JTabbedPane があり、これらの 2 つのタブのそれぞれに、コントロールを含む JPanel を追加します。
私はそれをお勧めします
これが私がお勧めするものです:
JPanel pTextBox
GridLayout(3, 2) でa を使用して、すべてのラベルとテキストボックスを保持しますJPanel pButtons
GridLayout(1, 3) または BoxLayout(horizontal) を使用して、すべてのボタンを保持しますJPanel pAll
BoxLayout(vertical) を使用してpTextBox
、pButtons
と Table を保持します。http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.htmlもチェックして、探しているものを正確に比較してください。
ウィンドウ内のすべての使用可能なスペースを占有しようとする JTable というコンポーネントがあります。これは、その BorderLayout の BorderLayout.CENTER に JTable を含む JScrollPane を使用して、BorderLayout が必要になることを意味します。他のコンポーネントは、BorderLayout.PAGE_START の別の JPanel 内にあります。
この新しい JPanel には、縦方向にサイズを調整する必要があるコンポーネントがないため、BorderLayout の必要性がわかりません。垂直の BoxLayout で構成します。このパネルに、ラベルとテキスト フィールド用に GridBagLayout を 1 つ、ボタン用に FlowLayout を 1 つ、さらに 2 つ挿入します。メインパネルのサイズを変更すると、FlowLayoutを使用してボタンがボタン間で同じ距離を保つため、ボタンにはGridLayoutのFlowLayout insetadを好みます。