我理解并且可以使用FormLayout,FormData,FormAttachment但我无法理解GridLayout,GridData是如何工作的。我想学习使用GridLayout和GridData,因为它更像是一个表,它有一个结构,不依赖于其他小部件。
我是一名Web开发人员(前端,后端),我迷失在Java“Grid”结构中。我应该如何对齐,在单元格内移动小部件(水平/垂直Aling,hor。/vert。缩进)?像在HTML / CSS中一样:边距,填充等。例如:将块从左移动100px。 (margin-left:100px),但在Java?
当我作为Web开发人员工作时,我创建了一个页面(这里是Java的视图),我知道如何组织父项和块。我可以将Composite与div进行比较,就像HTML / CSS中的块元素一样吗?
我需要创建以下应用:
我需要使用4种复合材料吗?
答案 0 :(得分:4)
以下文章应该为您GridLayout
提供一些信息:
为了达到你所拥有的形式,你需要这样的东西:
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
用于告诉布局小部件将覆盖多少列。