アキはフリーランスのプログラマーです >> Java >> SWT3.0
Sponsored link

このエントリーを含むはてなブックマーク このエントリーを含むECナビ人気ニュース

レイアウト別 Controlのサイズ指定

基本的に、レイアウトを使用した場合は、

controlのsetLayoutDataメソッドを使用します。(指定できないLayoutもあります。)

その場合、ControlインスタンスにsetSize()やsetBounds()で指定しても、

初期化・リサイズなどレイアウトされたときに、値が変わります。(setSizeを使いたい場合はLayoutを使わない)


レイアウトなし

control.setSize() 又は control.setBounds()を使う。

FormLayout

FormDataインスタンスのwidth・height変数で指定します。

shell.setBounds(0,0,200,100);
		FormLayout layout=new FormLayout();
		
		shell.setLayout(layout);
		
		
		Button button1=new Button(shell,SWT.NONE);
		button1.setText("1");
		
		FormData data=new FormData();
		data.width=40;
		data.height=40;
		button1.setLayoutData(data);

FillLayout

無し

parentのcontrolのサイズを変更するべき

GridLayout

GridDataインスタンスのwidthHint・heightHint変数で指定します。


最小値になります。

shell.setBounds(0,0,200,100);
		GridLayout layout=new GridLayout();
		layout.numColumns=2;
		shell.setLayout(layout);
		
		
		Button button1=new Button(shell,SWT.NONE);
		button1.setText("1");
		GridData data=new GridData();
		data.heightHint=40;
		data.widthHint=40;
		
	
		button1.setLayoutData(data);

RowLayout

rowDataインスタンスのwidth・height変数に指定します。

shell.setBounds(0,0,200,100);
		RowLayout layout=new RowLayout();
		shell.setLayout(layout);
		
		
		Button button1=new Button(shell,SWT.NONE);
		button1.setText("1");
		RowData rowData=new RowData();
		rowData.width=100;
		rowData.height=40;
		button1.setLayoutData(rowData);

StackLayout

無し

parentのcontrolのサイズを変更するべき


このエントリーを含むはてなブックマーク このエントリーを含むECナビ人気ニュース