Java学习使用SWT gridlayout和griddata

标签 java grid swt alignment grid-layout

我理解并可以使用 FormLayout、FormData、FormAttachment,但我无法理解 GridLayout、GridData 是如何工作的。我想学习使用 GridLayout 和 GridData,因为它更像是一个表格,它有一个结构并且不依赖于其他小部件。

我当时是一名 Web 开发人员(前端、后端),我迷失在 Java“网格”结构中。我应该如何在单元格内对齐、移动小部件(水平/垂直排列、水平/垂直缩进)?就像在 HTML/CSS 中一样:边距、填充等。例如:从左侧移动一个 block 100px。 (margin-left: 100px),但是在 Java 中?

当我作为一名 Web 开发人员时,我创建了一个页面(这里是 Java 的 View ),我知道如何组织父级和 block 。我可以将 Composite 与 div 进行比较,就像 HTML/CSS 中的 block 元素一样吗?

我需要创建以下应用程序:

enter image description here

我需要使用 4 种复合 Material 吗?

最佳答案

下面的文章应该可以帮助您了解 GridLayout:

Understanding Layouts in 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 用于定义布局内组件的行为。您可以定义垂直/水平对齐方式、边距等。 horizo​​ntalSpan 用于告诉布局小部件将覆盖多少列。

关于Java学习使用SWT gridlayout和griddata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13895372/

相关文章:

java - 用于禁用约束的 Informix DDL 执行

java - 如何使用 Selenium 在框架内执行 javascript?

html - 7 Bootstrap 中的列网格在 xs 处崩溃

java - 以编程方式进行 JFace/SWT 选择事件 - 树

java - 什么是NullPointerException,我该如何解决?

java - Akka 和长时间运行的进程的参与者模式

python - 导航网格

javascript - EXT JS Grid SelModel 复选框问题

java - OSX 上带有 SWT 的透明系统托盘图标

java - SWT 表列偏移/填充