ラベルを 2 行に配置しようとしていますGridBagLayout
が、一部のラベルを両方の行にまたがらせ、他のラベルを重ねて配置したいと考えています。のおよびプロパティのGridBagLayout
プロポーショナル サイズ変更機能のために、使用する必要があります。これは私が探しているレイアウトです:weightx
weighty
GridBagConstraints
+------------+------------+----------+----------+ | | | | | | ラベルC | | | | | ラベルA | labelB |----------| ラベルD | | | | | | | ラベルE | | | +------------+------------+----------+----------+
問題は、labelE
が下に配置されていることLabelA
です。これが私のコードのレイアウト部分です:
GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); this.setLayout(gridBag); c.fill = GridBagConstraints.BOTH; c.gridwidth = 1; c.gridheight = 2; c.weighty = PANEL_HEIGHT; gridbag.setConstraints(labelA, c); this.add(labelA); gridbag.setConstraints(labelB, c); this.add(labelB); c.gridheight = 1; c.weighty = TOPROW_HEIGHT; gridbag.setConstraints(labelC, c); this.add(labelC); c.gridheight = 2; c.gridwidth = GridBagConstraints.REMAINDER; c.weighty = PANEL_HEIGHT; gridbag.setConstraints(labelD, c); this.add(labelD); c.gridheight = 1; c.gridwidth = 1; c.weighty = BOTROW_HEIGHT; gridbag.setConstraints(labelE, c); this.add(labelE); this.validate();
私が欠けているものについてのアイデアはありますか?