質問編集履歴
2
ソースコードのミス
title
CHANGED
File without changes
|
body
CHANGED
@@ -31,9 +31,9 @@
|
|
31
31
|
setLayout(gbl);
|
32
32
|
|
33
33
|
// >>>>>>>>>>>>>>> ここで幅や高さの比率を設定している
|
34
|
-
addComportnent(inputTextPane, 0, 0,
|
34
|
+
addComportnent(inputTextPane, 0, 0, 2, 1, 2, 1);
|
35
|
-
addComportnent(tabbedPane, 0, 1,
|
35
|
+
addComportnent(tabbedPane, 0, 1, 2, 2, 2, 2);
|
36
|
-
addComportnent(logTextPane,
|
36
|
+
addComportnent(logTextPane, 2, 0, 1, 3, 1, 3);
|
37
37
|
// <<<<<<<<<<<<<<<
|
38
38
|
|
39
39
|
tabbedPane.add("標準", buttonPanel);
|
@@ -81,22 +81,22 @@
|
|
81
81
|
幅や高さの比率を設定しているところをもう少し細かく図に示したものを以下に書きます。
|
82
82
|
|
83
83
|
```java
|
84
|
-
addComportnent(inputTextPane, 0, 0,
|
84
|
+
addComportnent(inputTextPane, 0, 0, 2, 1, 2, 1);
|
85
85
|
/* 開始点:(0, 0)
|
86
86
|
* サイズ:2 × 1
|
87
87
|
* ■■□
|
88
88
|
* □□□
|
89
89
|
* □□□
|
90
90
|
*/
|
91
|
-
addComportnent(tabbedPane, 0, 1,
|
91
|
+
addComportnent(tabbedPane, 0, 1, 2, 2, 2, 2);
|
92
92
|
/* 開始点:(0, 1)
|
93
93
|
* サイズ:2 × 2
|
94
94
|
* □□□
|
95
95
|
* ■■□
|
96
96
|
* ■■□
|
97
97
|
*/
|
98
|
-
addComportnent(logTextPane,
|
98
|
+
addComportnent(logTextPane, 2, 0, 1, 3, 1, 3);
|
99
|
-
/* 開始点:(
|
99
|
+
/* 開始点:(2, 0)
|
100
100
|
* サイズ:1 × 3
|
101
101
|
* □□■
|
102
102
|
* □□■
|
1
人が見て分かりやすいようにソースコードを編集・追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
### 発生している問題
|
7
7
|
|
8
8
|

|
9
|
-
私は
|
9
|
+
私は左の`JPanel`と右の`JTextPane`の幅の比率が 2:1 になるように設定しました。
|
10
10
|
しかし、上の図は明らかに 2:1 になっていません。
|
11
11
|
つまり、 GridBagLayout は正しい比率でパネルを分割してくれません。
|
12
12
|
|
@@ -15,11 +15,6 @@
|
|
15
15
|
```java
|
16
16
|
|
17
17
|
class CalculatorForm extends JFrame {
|
18
|
-
/**
|
19
|
-
*
|
20
|
-
*/
|
21
|
-
private static final long serialVersionUID = 1L;
|
22
|
-
|
23
18
|
private List<JButton> buttons;
|
24
19
|
private List<JButton> functionButtons;
|
25
20
|
|
@@ -35,9 +30,11 @@
|
|
35
30
|
setSize(600, 400);
|
36
31
|
setLayout(gbl);
|
37
32
|
|
33
|
+
// >>>>>>>>>>>>>>> ここで幅や高さの比率を設定している
|
38
34
|
addComportnent(inputTextPane, 0, 0, 1, 1, 2, 1);
|
39
35
|
addComportnent(tabbedPane, 0, 1, 1, 2, 2, 2);
|
40
36
|
addComportnent(logTextPane, 1, 0, 1, 3, 1, 3);
|
37
|
+
// <<<<<<<<<<<<<<<
|
41
38
|
|
42
39
|
tabbedPane.add("標準", buttonPanel);
|
43
40
|
tabbedPane.add("関数", functionButtonPanel);
|
@@ -81,6 +78,32 @@
|
|
81
78
|
}
|
82
79
|
```
|
83
80
|
|
81
|
+
幅や高さの比率を設定しているところをもう少し細かく図に示したものを以下に書きます。
|
82
|
+
|
83
|
+
```java
|
84
|
+
addComportnent(inputTextPane, 0, 0, 1, 1, 2, 1);
|
85
|
+
/* 開始点:(0, 0)
|
86
|
+
* サイズ:2 × 1
|
87
|
+
* ■■□
|
88
|
+
* □□□
|
89
|
+
* □□□
|
90
|
+
*/
|
91
|
+
addComportnent(tabbedPane, 0, 1, 1, 2, 2, 2);
|
92
|
+
/* 開始点:(0, 1)
|
93
|
+
* サイズ:2 × 2
|
94
|
+
* □□□
|
95
|
+
* ■■□
|
96
|
+
* ■■□
|
97
|
+
*/
|
98
|
+
addComportnent(logTextPane, 1, 0, 1, 3, 1, 3);
|
99
|
+
/* 開始点:(1, 0)
|
100
|
+
* サイズ:1 × 3
|
101
|
+
* □□■
|
102
|
+
* □□■
|
103
|
+
* □□■
|
104
|
+
*/
|
105
|
+
|
106
|
+
```
|
84
107
|
### 補足情報
|
85
108
|
|
86
109
|
JDK 11.0.5
|