![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
こんばんは。
GridBagLayoutは難しいですよね。私はGridBagLayoutの説明でよく悪例とされる「単純なレイアウトの入れ子」の方がメンテナンス性が高いと思ってます。
weightx、weightyとfillの値を設定すると思ったように動作しませんでしょうか?
==================================================
import java.awt.*;
import javax.swing.*;
public class Test extends JFrame {
public static void main(String[] args) {
new Test().setVisible(true);
}
public Test() {
super("TEST");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
JPanel p = new JPanel();
GridBagLayout layout = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
p.setLayout(layout);
p.setBackground(Color.GREEN);
setContentPane(p);
c.fill = GridBagConstraints.HORIZONTAL; // 左右にリサイズ(ただし1段目は拡張不可)
c.weightx = 0; // 1段目は拡張不可
c.weighty = 0;
c.insets = new Insets(5, 5, 5, 5);
JButton btn1 = new JButton("BTN1");
c.gridx = 0;
c.gridy = 0;
layout.setConstraints(btn1, c);
p.add(btn1);
JButton btn2 = new JButton("BTN2");
c.gridx = 2;
c.gridy = 0;
layout.setConstraints(btn2, c);
p.add(btn2);
c.weightx = 1; // 2段目は拡張可能
c.weighty = 1;
JButton btn3 = new JButton("BTN3");
c.gridx = 1;
c.gridy = 1;
layout.setConstraints(btn3, c);
p.add(btn3);
c.fill = GridBagConstraints.BOTH; // 右下は上下左右にリサイズ;
JButton btn4 = new JButton("BTN4");
c.gridx = 3;
c.gridy = 1;
layout.setConstraints(btn4, c);
p.add(btn4);
}
}
この回答への補足
回答、ありがとうございます。やってはみたのですが、うまくゆきませんでした。中央に、上下、左右のスクロールバーを配置しているので、それが原因かとも思ったのですが、全ての配置物が中央によるので、そういうわけでもないようです。
補足日時:2006/09/15 20:07お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PDF 画像調整してスクショし保存した画像をPC画面と同画質で印刷する方法 1 2022/03/31 19:09
- その他(IT・Webサービス) 画像調整してスクショし保存した画像をPC画面と同画質で印刷する方法 3 2022/03/31 19:11
- Illustrator(イラストレーター) ペイントでサイズを小さくする 5 2023/06/17 10:33
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- PDF 画像調整してスクショし保存した画像を印刷する方法 1 2022/03/31 18:42
- iOS iPhoneの画面が見切れて困ってます ゲーム画面などで文字が見切れてしまっていたり タップする部分 2 2022/07/05 22:45
- モニター・ディスプレイ DisplayPort 入力のMSTハブ(Linux対応)を探しています。 Linux を2画面で作 1 2022/11/07 21:10
- UNIX・Linux DisplayPort 入力のMSTハブ(Linux対応)を探しています。 Linux を2画面で作 1 2022/11/07 20:48
- Windows 10 【PC】デュアルディスプレイ利用時に2画面分で最大化できる? 3 2023/03/22 01:45
- 中古パソコン PC作業の環境(ハード)について 3 2022/12/20 18:12
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
最後の行に移動するには?
-
ArrayListの使い方について(初...
-
4択クイズでのランダム出題の...
-
JPanelの切り替えと再描画
-
javaのフレームにサイズがセッ...
-
’じゃんけん’をするプログラム...
-
JAVAアプレット(簡易計算機)...
-
Java本格じゃんけんで
-
java junit list同士の比較方法
-
JDialogを閉じた時の処理
-
あるコンボボックスを選択する...
-
VB6.0でのTextboxの高さ変更
-
スクロールバーの初期化(Java)
-
JavaでのSwingを使った簡易電卓...
-
javaGUIインスタント変数とロー...
-
C言語 重複しない4ケタの乱数...
-
java
-
ORA-01858: 数値を指定する箇所...
-
hiddenの値が期待した値で取得...
-
オブジェクトの中のプロパティ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
javaで文字数制限するには?
-
JPanelの切り替えと再描画
-
連番をオブジェクト名の最後に...
-
JPanelの重ね方/OverlayLayout他
-
JavaのswingでCardLayoutの画面...
-
JavaでのSwingを使った簡易電卓...
-
ArrayListの使い方について(初...
-
4択クイズでのランダム出題の...
-
KeyListenerの使い方について
-
JDialogを閉じた時の処理
-
BMI測定を作ろうとしている...
-
TextAreaでの文字の色
-
EXECLの行を削除
-
Java-Swing TextAreaにスクロー...
-
setPrefferedSizeとsetSize
-
【Swing】JPanel クラス外から...
-
最後の行に移動するには?
-
あるコンボボックスを選択する...
-
JButton-背景の透明化
おすすめ情報