GridLayout を利用する

【例題2】java.awt.GridLayout を利用して、パネル内にボタンを配置したい。


パネル内にボタンを配置(行優先)します。これを実現したのが、次のコードです。

def ex_GridLayout():
view = JPanel(
layout=GridLayout(
rows=2, columns=3, hgap=20, vgap=4,
))
font = Font("courier", Font.PLAIN, 24)
for e in range(1, 7):
view.add(JButton(
font= font, text=`e`,
))
frame = JFrame(
defaultCloseOperation=JFrame.EXIT_ON_CLOSE,
title=view.layout.__class__.__name__,
)
frame.add(view)
frame.pack()
frame.show()

GridLayout は、行数/列数を指定して、コンポーネントを格子状に配置します。

    public GridLayout(
int rows, int cols, int hgap, int vgap)

キーワード引数を使って、rows=2 行 columns=3 列の格子の中にボタンを配置するとともに、水平方向に hgap=20 画素、垂直方向に vgap=4 画素の間隔(隙間)を設けます。コンポーネントを追加するときには、最初の行を左から右へと順に進んで、最後の列に達すると、次の行へと進みます。ウィンドウの大きさを変えても、コンポーネントの配置は変りません。


Previous〈4/5〉Next