2012-12-15 93 views
2

我瞭解並能使用的FormLayout,FORMDATA,FormAttachment但我不明白怎麼網格佈局,的GridData工作。我想學習使用GridLayout和GridData,因爲它更像一個表格,它有一個結構並且不依賴於其他小部件。的Java學習使用SWT GridLayout的和的GridData

我工作作爲一個Web開發(前端,後端)和我在Java中「網格」結構丟失。我應該如何對齊,移動單元格內的小部件(水平/垂直Aling,hor./vert。Indent)?像在HTML/CSS中一樣:邊距,填充等。例如:將塊從左邊移動100px。 (margin-left:100px),但在Java?

當我工作作爲一個web開發者,我創建了一個頁面(這裏在Java中它的觀點),我知道如何組織家長和塊。我可以將Composite與一個div進行比較,就像HTML/CSS中的塊元素一樣嗎?

我需要建立以下應用:

enter image description here

我是否需要使用4個複合材料?

回答

4

下面的文章應一些線索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我們用來定義佈局內組件的行爲。您可以定義垂直/水平對齊,邊距等。使用horizontalSpan來告知佈局小部件將覆蓋多少列。

+0

是否有可能在答案中忘記了保存按鈕? – aldr

+1

@aldr很可能,是的。不過,我認爲OP不管理佈局的概念。 – Baz

+0

不是一個巨大的,它只是一個觀察,爲了後代不要懷疑它爲什麼會錯過:) – aldr