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ランキング
-
【Swing】JPanel クラス外から...
-
TextAreaでの文字の色
-
JAppletでJBottunを使いつつKey...
-
Java-Swing TextAreaにスクロー...
-
java junit list同士の比較方法
-
あるコンボボックスを選択する...
-
チェックボックスを動的に生成する
-
cadで作った図面をフレーム上で...
-
EXECLの行を削除
-
ArrayListの使い方について(初...
-
JAVA コンソールではなくGUIで...
-
JavaのswingでCardLayoutの画面...
-
JAVAアプレット(簡易計算機)...
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
[JAVA]try 内の変数を外で!?
-
yyyymmddからyyyy/mm/d...
-
VBAで配列の計算
-
System.err. printlnとSystem.o...
-
javaで質問です。 文字列2023/2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
javaで文字数制限するには?
-
JTableの列ヘッダ
-
TextAreaでの文字の色
-
最後の行に移動するには?
-
【Swing】JPanel クラス外から...
-
4択クイズでのランダム出題の...
-
コンパイルエラー <identifier...
-
JPanelの重ね方/OverlayLayout他
-
JPanelの切り替えと再描画
-
エラーで式の開始が不正ですと...
-
JTable の 列幅を個別に設定す...
-
VB6.0でのTextboxの高さ変更
-
連番をオブジェクト名の最後に...
-
ボタンクリック後パネルを再描...
-
JavaでのSwingを使った簡易電卓...
-
ArrayListの使い方について(初...
-
Buttonを押すと画像が表示され...
-
あるコンボボックスを選択する...
-
KeyListenerの使い方について
おすすめ情報