Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

レイアウト方法についてアドバイスを頂けないでしょうか。

JAVA GUIアプリ作成の練習として、体重や筋トレなどのデータ入力、表示をするアプリケーション作成を試みています。

現在は表示画面の作成中なのですが、表示したい項目を思うように配置できず早速行き詰ってしまっています。
現在はGridLayoutを使用して画面の左側に項目名、右側にデータを表示しています。
しかし全てのコンポーネントが均等なサイズで画面いっぱいに広げられてしまうため、余白がなく見づらくなっている状況です。

各コンポーネント間に余白を取り、できればそれぞれの項目ごとにサイズを設定するにはどうすれば良いでしょうか。
大変初歩的な質問で恐縮ですが、ご教授頂ければ幸いです。

以下のURLに実際のソースコードがありますので、他にもここの書き方はこうやって書くのが一般的だとか、適しているというアドバイスもあればありがたいです。
http://ideone.com/Ve1rT

4

回答

11270

閲覧

4件の回答

評価

0

少し細かい制御が欲しいならGridBagLayoutてのもある。
レイアウトなしで自分で全部決める方法もあるけど。

評価

0

一般的にはユーザーが画面を伸縮してもレイアウトが保持
されるように組むのが望ましいので、いろいろなレイアウ
ト方法が用意されているのですが最初はわかりづらいです
ね。

setLayout( null );
で個別にサイズ設定できるのではないでしょうか。
Eclipse等を使えばマウスで配置、サイズ変更することも
できます。

評価

0

お二方、ご助言ありがとうございます。
GridBagLayoutは使ったことがないので調べてみたいと思います。

setLayout(null)で個別指定できるようになるのですね。
しかしこれをすると画面の伸縮には対応できなくなってしまう・・ということでしょうか?
GridLayoutのままコンポーネント間のマージンを指定できればベストなのですが・・・。
まずはGridBagLayoutを試してみようと思います。
ありがとうございました。

引き続き他にもこういうやり方もあるという情報があれば、ご助言頂ければ幸いです。

評価

0

余白を作る方法は色々あります。例えば  GridLayout に hgap vgap を指定。
この場合余白が一定でその余白を残して各コンポーネントは引き延ばされます。
あるいは、GridLayout のコンポーネントに直接ではなく、
配置したい物をそれぞれの JPanel に入れ、それらを追加。
これだと JPanel デフォルとの FlowLayout により余白が出来ます。
サイズは各コンポーネントの自然な大きさ以上にはの伸びなくなります。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。