2

FormLayout、FormData、FormAttachmentを理解して使用できますが、GridLayout、GridDataがどのように機能しているかを理解できません。GridLayoutとGridDataはテーブルに似ていて、構造があり、他のウィジェットに依存しないため、この方法を学びたいと思います。

私はWeb開発者(フロントエンド、バックエンド)として働いていましたが、Javaの「グリッド」構造に迷いました。セル内でウィジェットを整列、移動するにはどうすればよいですか(水平/垂直アリング、水平/垂直インデント)?HTML / CSSのように:マージン、パディングなど。例:ブロックを左から100px移動します。(マージン左:100px)、しかしJavaでは?

私がWeb開発者として働いていたとき、私はページ(ここではJavaでビュー)を作成しました。親とブロックを整理する方法を知っています。HTML / CSSのようなブロック要素のように、Compositeをdivと比較できますか?

次のアプリを作成する必要があります。

ここに画像の説明を入力してください

4つのコンポジットを使用する必要がありますか?

4

1 に答える 1

4

次の記事はあなたのためにいくつかの光を当てる必要がありGridLayoutます:

SWTのレイアウトを理解する

そこにあるフォームのようなものを実現するには、次のようなものが必要になります。

shell.setLayout(new GridLayout(3, false));

Label title = new Label(shell, SWT.NONE);
title.setText("My first text editor");
GridData data = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
data.horizontalSpan = 3;
title.setLayoutData(data);

Label select = new Label(shell, SWT.NONE);
select.setText("Select a file:");
data = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
select.setLayoutData(data);

Text text = new Text(shell, SWT.BORDER);
data = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
text.setLayoutData(data);

Button button = new Button(shell, SWT.PUSH);
button.setText("Browse...");
data = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
button.setLayoutData(data);

List result = new List(shell, SWT.BORDER);
data = new GridData(SWT.FILL, SWT.FILL, true, true);
data.horizontalSpan = 3;
result.setLayoutData(data);    

GridData私たちは、レイアウト内のコンポーネントの動作を定義するために使用しました。垂直/水平方向の配置、マージンなどを定義できます。horizontalSpanウィジェットがカバーする列の数をレイアウトに指示するために使用されます。

于 2012-12-15T21:48:11.357 に答える