Hướng dẫn và ví dụ Java SWT SashForm
Xem thêm các chuyên mục:

Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.


SashForm là class mở rộng từ Composite nó sắp đặt (lays out) các thành phần con thành một hàng hoặc một cột. Và nó đặt một Sash nằm giữa 2 thành phần con cạnh nhau. Người dùng có thể sử dụng chuột để thay đổi vị trí của Sash.

Ví dụ dưới đây là một SashForm nằm ngang với 3 thành phần con, người dùng có thể sử dụng chuột để di chuyển các Sash.

Ví dụ một SashForm thẳng đứng với 4 thành phần con.

Với SashForm là nằm ngang, chiều dài của các thành phần con tỷ lệ thuận với trọng lượng (weight) của chúng. Tương tự khi SashForm là kiểu thẳng đứng, chiều cao của các thành phần con tỷ lệ thuận với trong lượng của chúng.

// Tạo một SashForm nằm ngang:
SashForm sashForm = new SashForm(shell, SWT.HORIZONTAL);
// Tạo một SashForm thẳng đứng.
SashForm sashForm = new SashForm(shell, SWT.VERTICAL);
SashFormDemo.java
package org.o7planning.swt.sashform;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class SashFormDemo {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("SWT SashForm (o7planning.org)");
FillLayout fillLayout = new FillLayout();
fillLayout.marginHeight= 5;
fillLayout.marginWidth = 5;
shell.setLayout(fillLayout);
SashForm sashForm = new SashForm(shell, SWT.HORIZONTAL);
Button button1 = new Button(sashForm, SWT.NONE);
button1.setText("Button 1");
Button button2 = new Button(sashForm, SWT.NONE);
button2.setText("Button 2");
Button button3 = new Button(sashForm, SWT.NONE);
button3.setText("Button 3");
sashForm.setWeights(new int[] { 2, 3, 1 });
sashForm.setSashWidth(10);
shell.setSize(400, 250);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
Chạy ví dụ:

Thiết kế SashForm với WindowBuilder.
