teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

リンクなど追加

2024/01/10 19:40

投稿

jimbe
jimbe

スコア13355

answer CHANGED
@@ -8,4 +8,8 @@
8
8
  パネルでいうとピンクとブルーが x0 で、ブルーだけが y1 ですので、ピンクは横が可変となり、ブルーは縦横共に可変となります。
9
9
 
10
10
  weight は割合ですので、数値そのものは何でなければならないとかは決まっていません。
11
- 質問のコードのように1つだけ指定するのならそれこそ 0 で無ければ何でも良いですし、もし 2 つのグリッドで 30% と 70% で割り当てるなら、 0.3 と 0.7 でも 30 と 70 でも、 21 と 49 でも良いのです。
11
+ 質問のコードのように1つだけ指定するのならそれこそ 0 で無ければ何でも良いですし、もし 2 つのグリッドで 30% と 70% で割り当てるなら、 0.3 と 0.7 でも 30 と 70 でも、 21 と 49 でも良いのです。
12
+
13
+ [余分な領域の配分方法を設定する](https://www.javadrive.jp/tutorial/gridbaglayout/index5.html)
14
+
15
+ 個人的には、 GridBagLayout 自体にサイズやウエイトを設定するよりも GridBagConstraints でやったほうが自由度も高くて分かり易いと思います。

1

追記

2024/01/10 19:31

投稿

jimbe
jimbe

スコア13355

answer CHANGED
@@ -5,4 +5,7 @@
5
5
  column は横、 row は縦です。従って、x0 の横方向と y1 の縦方向に weight が指定されていることになります。
6
6
  weight は、縦横各々で 0 以外の値の合計との割合で余白を各グリッドに割り当てるものです。
7
7
  縦横とも weight の合計は 1 で、それは x0 と y1 のみですから、それぞれの全ての余白が割当てされます。
8
- パネルでいうとピンクとブルーが x0 で、ブルーだけが y1 ですので、ピンクは横が可変となり、ブルーは縦横共に可変となります。
8
+ パネルでいうとピンクとブルーが x0 で、ブルーだけが y1 ですので、ピンクは横が可変となり、ブルーは縦横共に可変となります。
9
+
10
+ weight は割合ですので、数値そのものは何でなければならないとかは決まっていません。
11
+ 質問のコードのように1つだけ指定するのならそれこそ 0 で無ければ何でも良いですし、もし 2 つのグリッドで 30% と 70% で割り当てるなら、 0.3 と 0.7 でも 30 と 70 でも、 21 と 49 でも良いのです。