SWT - Пример SashForm

SWT - Пример SashForm

Что такое SashForm?

В SWT SashForm похож на Group, однако он добавил еще одну полезную функцию, которая позволяет пользователю регулировать размер элемента управления в среде выполнения. SashForm предоставляет эту функцию, создавая подвижную линию между дочерним виджетом (кнопка, метка, текст…). Когда пользователь перетаскивает «линию», он увеличивает размер одного виджета и уменьшает остальные.

Виджет SashForm поддерживает два стиля.

1) SWT.SWT.HORIZONTAL
2) SWT.VERTICAL

Как создать виджет SashForm?

Здесь я покажу, как создать виджет с четырьмя кнопками и связать его с SashForm в стиле HORIZONTAL и VERTICAL.

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 SWTSashForm
{
    public static void main (String [] args) {
        Display display = new Display ();
        Shell shell = new Shell(display);
        shell.setText("SWT SashForm Example");

        shell.setLayout(new FillLayout());

        // Create the SashForm with HORIZONTAL
        SashForm sashForm = new SashForm(shell, SWT.HORIZONTAL);
        new Button(sashForm, SWT.PUSH).setText("Left");
        new Button(sashForm, SWT.PUSH).setText("Right");

        // Create the SashForm with VERTICAL
        SashForm sashForm2 = new SashForm(shell, SWT.VERTICAL);
        new Button(sashForm2, SWT.PUSH).setText("Up");
        new Button(sashForm2, SWT.PUSH).setText("Down");

        shell.open();

        while (!shell.isDisposed ()) {
            if (!display.readAndDispatch ()) display.sleep ();
        }
        display.dispose ();
    }

}

image

image