Java Tutorial/SWT/SashForm

Материал из Java эксперт
Перейти к: навигация, поиск

Change SashForm Orientation

   <source lang="java">

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 SashFormOri {

 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   shell.setText("SashForm Test");
   // Fill the parent window with the buttons and sash
   shell.setLayout(new FillLayout());
   // Create the SashForm and the buttons
   SashForm sashForm = new SashForm(shell, SWT.VERTICAL);
   new Button(sashForm, SWT.PUSH).setText("Left");
   new Button(sashForm, SWT.PUSH).setText("Right");
   sashForm.setOrientation(SWT.HORIZONTAL);
   
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch()) {
       display.sleep();
     }
   }
   display.dispose();
 }

}</source>





Change SashForm Weight

   <source lang="java">

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 SashFormWeight {

 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   shell.setText("SashForm Test");
   // Fill the parent window with the buttons and sash
   shell.setLayout(new FillLayout());
   // Create the SashForm and the buttons
   SashForm sashForm = new SashForm(shell, SWT.VERTICAL);
   new Button(sashForm, SWT.PUSH).setText("Left");
   new Button(sashForm, SWT.PUSH).setText("Right");
   sashForm.setWeights(new int[] { 1, 3});
   
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch()) {
       display.sleep();
     }
   }
   display.dispose();
 }

}</source>





Control the width in pixels of all sashes

   <source lang="java">

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 SashFormSashWidth {

 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   shell.setText("SashForm Test");
   // Fill the parent window with the buttons and sash
   shell.setLayout(new FillLayout());
   // Create the SashForm and the buttons
   SashForm sashForm = new SashForm(shell, SWT.VERTICAL);
   new Button(sashForm, SWT.PUSH).setText("Left");
   new Button(sashForm, SWT.PUSH).setText("Right");
   sashForm.SASH_WIDTH = 20;
   
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch()) {
       display.sleep();
     }
   }
   display.dispose();
 }

}</source>





Maximize Control

   <source lang="java">

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 SashFromMaximizeControl {

 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   shell.setText("SashForm Test");
   // Fill the parent window with the buttons and sash
   shell.setLayout(new FillLayout());
   // Create the SashForm and the buttons
   SashForm sashForm = new SashForm(shell, SWT.VERTICAL);
   new Button(sashForm, SWT.PUSH).setText("Left");
   Button control = new Button(sashForm, SWT.PUSH);
   control.setText("Right");
   sashForm.setOrientation(SWT.HORIZONTAL);
   
   
   
   if (control == sashForm.getMaximizedControl()) {
     sashForm.setMaximizedControl(null);
   } else {
     sashForm.setMaximizedControl(control);
   }
   
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch()) {
       display.sleep();
     }
   }
   display.dispose();
 }

}</source>





SashForm: create a sash form with three children

   <source lang="java">

/*******************************************************************************

* Copyright (c) 2000, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     IBM Corporation - initial API and implementation
*******************************************************************************/

//package org.eclipse.swt.snippets; /*

* SashForm example snippet: create a sash form with three children
*
* For a list of all SWT example snippets see
* http://www.eclipse.org/swt/snippets/
*/

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.ruposite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; public class SashFormThreeChildren {

 public static void main(String[] args) {
   final Display display = new Display();
   Shell shell = new Shell(display);
   shell.setLayout(new FillLayout());
   SashForm form = new SashForm(shell, SWT.HORIZONTAL);
   form.setLayout(new FillLayout());
   Composite child1 = new Composite(form, SWT.NONE);
   child1.setLayout(new FillLayout());
   new Label(child1, SWT.NONE).setText("Label in pane 1");
   Composite child2 = new Composite(form, SWT.NONE);
   child2.setLayout(new FillLayout());
   new Button(child2, SWT.PUSH).setText("Button in pane2");
   Composite child3 = new Composite(form, SWT.NONE);
   child3.setLayout(new FillLayout());
   new Label(child3, SWT.PUSH).setText("Label in pane3");
   form.setWeights(new int[] { 30, 40, 30 });
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch())
       display.sleep();
   }
   display.dispose();
 }

}</source>





SashForms can be either horizontal or vertical: SWT.HORIZONTAL or SWT.VERTICAL,

To create a horizontal SashForm:



   <source lang="java">

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 SashFormCreate {

 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   shell.setText("SashForm Test");
   // Fill the parent window with the buttons and sash
   shell.setLayout(new FillLayout());
   // Create the SashForm and the buttons
   SashForm sashForm = new SashForm(shell, SWT.HORIZONTAL);
   new Button(sashForm, SWT.PUSH).setText("Left");
   new Button(sashForm, SWT.PUSH).setText("Right");
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch()) {
       display.sleep();
     }
   }
   display.dispose();
 }

}</source>





Vertical SashForm

   <source lang="java">

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 SashFormVertical {

 public static void main(String[] args) {
   Display display = new Display();
   Shell shell = new Shell(display);
   shell.setText("SashForm Test");
   // Fill the parent window with the buttons and sash
   shell.setLayout(new FillLayout());
   // Create the SashForm and the buttons
   SashForm sashForm = new SashForm(shell, SWT.VERTICAL);
   new Button(sashForm, SWT.PUSH).setText("Left");
   new Button(sashForm, SWT.PUSH).setText("Right");
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch()) {
       display.sleep();
     }
   }
   display.dispose();
 }

}</source>