天天看点

formlayout布局,datetime演示

package com.fengmanfei.ch7;

import org.eclipse.swt.SWT;

import org.eclipse.swt.layout.FormAttachment;

import org.eclipse.swt.layout.FormData;

import org.eclipse.swt.layout.FormLayout;

import org.eclipse.swt.layout.GridData;

import org.eclipse.swt.layout.GridLayout;

import org.eclipse.swt.layout.RowLayout;

import org.eclipse.swt.widgets.Button;

import org.eclipse.swt.widgets.Composite;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Group;

import org.eclipse.swt.widgets.Label;

import org.eclipse.swt.widgets.Shell;

import org.eclipse.swt.widgets.Spinner;

public class Test {

    public static void main(String[] args) {

        Display display = new Display();

        Shell shell = new Shell(display);

        FormLayout layout = new FormLayout();

        shell.setLayout(layout);

        shell.setSize(432,300);

        Group startTimeGroup = new Group(shell, SWT.SHADOW_IN);

        startTimeGroup.setText("Start Time");

        startTimeGroup.setSize(200, 200);

        startTimeGroup.setLayout(new RowLayout(SWT.VERTICAL));

        Button startCheckButton = new Button(startTimeGroup, SWT.CHECK);

        startCheckButton.setText("Star&t by the below time");

        startCheckButton.setSize(60,15);

        Spinner startSpinner = new Spinner(startTimeGroup, SWT.NONE);

        FormData data = new FormData();

        data.top = new FormAttachment(0, 5);

        data.left = new FormAttachment(0, 5);

        data.bottom = new FormAttachment(50, -5);

        data.right = new FormAttachment(50, -5);

        startTimeGroup.setLayoutData(data);

        Composite buttonsComposite = new Composite(shell, SWT.NONE);

        GridLayout gridLayout = new GridLayout();

        gridLayout.marginHeight = 0;

        gridLayout.marginWidth = 0;

        buttonsComposite.setLayout(gridLayout);

        Button startButton = new Button(buttonsComposite, SWT.PUSH);

        startButton.setText("&Start");

        GridData gridData = new GridData(GridData.FILL_BOTH);

        startButton.setLayoutData(gridData);

        Button cancelButton = new Button(buttonsComposite, SWT.PUSH);

        cancelButton.setText("&Cancel");

        gridData = new GridData(GridData.FILL_BOTH);

        cancelButton.setLayoutData(gridData);

        data = new FormData();

        data.top = new FormAttachment(0, 5);

        data.left = new FormAttachment(startTimeGroup, 5);

        data.bottom = new FormAttachment(50, -5);

        data.right = new FormAttachment(100, -5);

        buttonsComposite.setLayoutData(data);

        Group stopTimeGroup = new Group(shell, SWT.SHADOW_IN);

        stopTimeGroup.setText("Stop Time");

        stopTimeGroup.setSize(200, 200);

        stopTimeGroup.setLayout(new RowLayout(SWT.VERTICAL));

        Button stopCheckButton = new Button(stopTimeGroup, SWT.CHECK);

        stopCheckButton.setText("Sto&p by the below time");

        stopCheckButton.setSize(60,15);

        Spinner stopSpinner = new Spinner(stopTimeGroup, SWT.NONE);

        data = new FormData();

        data.top = new FormAttachment(startTimeGroup, 5);

        data.left = new FormAttachment(0, 5);

        data.bottom = new FormAttachment(100, -5);

        data.right = new FormAttachment(50, -5);

        stopTimeGroup.setLayoutData(data);

        Composite labelsComposite = new Composite(shell, SWT.NONE);

        gridLayout = new GridLayout();

        gridLayout.marginHeight = 0;

        gridLayout.marginWidth = 0;

        labelsComposite.setLayout(gridLayout);

        Label remainlLabel = new Label(labelsComposite, SWT.PUSH);

        remainlLabel.setText("remain:");

        gridData = new GridData(GridData.FILL_BOTH);

        remainlLabel.setLayoutData(gridData);

        data = new FormData();

        data.top = new FormAttachment(buttonsComposite, 30);

        data.left = new FormAttachment(stopTimeGroup, 5);

        data.bottom = new FormAttachment(100, -5);

        data.right = new FormAttachment(100, -5);

        labelsComposite.setLayoutData(data);

        shell.pack();

        shell.open();

        while (!shell.isDisposed()) {

            if (!display.readAndDispatch()) {

                display.sleep();

            }

        }

        display.dispose();

    }

}

package com.fengmanfei.ch7;

import org.eclipse.swt.SWT;

import org.eclipse.swt.events.SelectionAdapter;

import org.eclipse.swt.events.SelectionEvent;

import org.eclipse.swt.layout.FillLayout;

import org.eclipse.swt.layout.GridData;

import org.eclipse.swt.layout.GridLayout;

import org.eclipse.swt.widgets.Button;

import org.eclipse.swt.widgets.DateTime;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Label;

import org.eclipse.swt.widgets.Shell;

public class FormLayoutSample {

    public static void main(String[] args) {

        Display display = new Display ();

          final Shell shell = new Shell (display);

          shell.setLayout(new FillLayout());

          Button open = new Button (shell, SWT.PUSH);

          open.setText ("Open Dialog");

          open.addSelectionListener (new SelectionAdapter () {

            public void widgetSelected (SelectionEvent e) {

              final Shell dialog = new Shell (shell, SWT.DIALOG_TRIM);

              dialog.setLayout (new GridLayout (3, false));

              final DateTime calendar = new DateTime (dialog, SWT.CALENDAR | SWT.BORDER);

              final DateTime date = new DateTime (dialog, SWT.DATE | SWT.SHORT);

              final DateTime time = new DateTime (dialog, SWT.TIME | SWT.SHORT);

              new Label (dialog, SWT.NONE);

              new Label (dialog, SWT.NONE);

              Button ok = new Button (dialog, SWT.PUSH);

              ok.setText ("OK");

              ok.setLayoutData(new GridData (SWT.FILL, SWT.CENTER, false, false));

              ok.addSelectionListener (new SelectionAdapter () {

                public void widgetSelected (SelectionEvent e) {

                  System.out.println ("Calendar date selected (MM/DD/YYYY) = " + (calendar.getMonth () + 1) + "/" + calendar.getDay () + "/" + calendar.getYear ());

                  System.out.println ("Date selected (MM/YYYY) = " + (date.getMonth () + 1) + "/" + date.getYear ());

                  System.out.println ("Time selected (HH:MM) = " + time.getHours () + ":" + time.getMinutes ());

                  dialog.close ();

                }

              });

              dialog.setDefaultButton (ok);

              dialog.pack ();

              dialog.open ();

            }

          });

          shell.pack ();

          shell.open ();

          while (!shell.isDisposed ()) {

            if (!display.readAndDispatch ()) display.sleep ();

          }

          display.dispose ();

    }

}

formlayout布局,datetime演示
formlayout布局,datetime演示