Java by API/org.eclipse.swt.widgets/CoolItem

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

CoolItem: addSelectionListener(SelectionListener lis)

   <source lang="java">

import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.CoolBar; import org.eclipse.swt.widgets.CoolItem; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.ToolBar; import org.eclipse.swt.widgets.ToolItem; public class MainClass {

 static Menu menu = null;
 static CoolBar coolBar;
 public static void main(String[] args) {
   Display display;
   Shell shell;
   display = new Display();
   shell = new Shell(display);
   shell.setLayout(new GridLayout());
   shell.setText("CoolBar Example");
   shell.setSize(600, 200);
   coolBar = new CoolBar(shell, SWT.BORDER | SWT.FLAT);
   coolBar.setLayoutData(new GridData(GridData.FILL_BOTH));
   ToolBar toolBar1 = new ToolBar(coolBar, SWT.FLAT);
   for (int loopIndex = 0; loopIndex < 5; loopIndex++) {
     ToolItem toolItem = new ToolItem(toolBar1, SWT.PUSH);
     toolItem.setText("Button " + loopIndex);
   }
   ToolBar toolBar2 = new ToolBar(coolBar, SWT.FLAT | SWT.WRAP);
   for (int loopIndex = 5; loopIndex < 10; loopIndex++) {
     ToolItem toolItem = new ToolItem(toolBar2, SWT.PUSH);
     toolItem.setText("Button " + loopIndex);
   }
   CoolItem coolItem1 = new CoolItem(coolBar, SWT.DROP_DOWN);
   coolItem1.setControl(toolBar1);
   CoolItem coolItem2 = new CoolItem(coolBar, SWT.DROP_DOWN);
   coolItem2.setControl(toolBar2);
   Point toolBar1Size = toolBar1.ruputeSize(SWT.DEFAULT, SWT.DEFAULT);
   Point coolBar1Size = coolItem1.ruputeSize(toolBar1Size.x, toolBar1Size.y);
   coolItem1.setSize(coolBar1Size);
   Point toolBar2Size = toolBar2.ruputeSize(SWT.DEFAULT, SWT.DEFAULT);
   Point coolBar2Size = coolItem1.ruputeSize(toolBar2Size.x, toolBar2Size.y);
   coolItem2.setSize(coolBar2Size);
   class CoolBarListener extends SelectionAdapter {
     public void widgetSelected(SelectionEvent event) {
       if (event.detail == SWT.ARROW) {
         ToolBar toolBar = (ToolBar) ((CoolItem) event.widget).getControl();
         ToolItem[] buttons = toolBar.getItems();
         if (menu != null) {
           menu.dispose();
         }
         menu = new Menu(coolBar);
         for (int loopIndex = 0; loopIndex < buttons.length; loopIndex++) {
           MenuItem menuItem = new MenuItem(menu, SWT.PUSH);
           menuItem.setText(buttons[loopIndex].getText());
         }
         Point menuPoint = coolBar.toDisplay(new Point(event.x, event.y));
         menu.setLocation(menuPoint.x, menuPoint.y);
         menu.setVisible(true);
       }
     }
   }
   coolItem1.addSelectionListener(new CoolBarListener());
   coolItem2.addSelectionListener(new CoolBarListener());
   shell.open();
   while (!shell.isDisposed()) {
     if (!display.readAndDispatch())
       display.sleep();
   }
   display.dispose();
 }

}

      </source>
   
  
 
  



CoolItem: computeSize(int x, int y)

   <source lang="java">

import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.CoolBar; import org.eclipse.swt.widgets.CoolItem; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {

 public static void main(String[] a) {
   Display d = new Display();
   Shell s = new Shell(d);
   s.setText("A Tabbed Shell Example");
   final CoolBar bar = new CoolBar(s, SWT.BORDER);
   bar.setSize(280, 70);
   bar.setLocation(0, 0);
   // final Image openIcon = new Image(d, "c:\\icons\\open.jpg");
   final CoolItem openCoolItem = new CoolItem(bar, SWT.NONE);
   final Button openBtn = new Button(bar, SWT.PUSH);
   // openBtn.setImage(openIcon);
   openBtn.pack();
   Point size = openBtn.getSize();
   openCoolItem.setControl(openBtn);
   openCoolItem.setSize(openCoolItem.ruputeSize(size.x, size.y));
   s.open();
   while (!s.isDisposed()) {
     if (!d.readAndDispatch())
       d.sleep();
   }
   d.dispose();
 }

}

      </source>
   
  
 
  



CoolItem: setControl(Control con)

   <source lang="java">

import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.CoolBar; import org.eclipse.swt.widgets.CoolItem; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {

 public static void main(String[] a) {
   Display d = new Display();
   Shell s = new Shell(d);
   s.setText("A Tabbed Shell Example");
   final CoolBar bar = new CoolBar(s, SWT.BORDER);
   bar.setSize(280, 70);
   bar.setLocation(0, 0);
   // final Image openIcon = new Image(d, "c:\\icons\\open.jpg");
   final CoolItem openCoolItem = new CoolItem(bar, SWT.NONE);
   final Button openBtn = new Button(bar, SWT.PUSH);
   // openBtn.setImage(openIcon);
   openBtn.pack();
   Point size = openBtn.getSize();
   openCoolItem.setControl(openBtn);
   openCoolItem.setSize(openCoolItem.ruputeSize(size.x, size.y));
   s.open();
   while (!s.isDisposed()) {
     if (!d.readAndDispatch())
       d.sleep();
   }
   d.dispose();
 }

}


      </source>
   
  
 
  



new CoolItem(CoolBar bar, int style)

   <source lang="java">

import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.CoolBar; import org.eclipse.swt.widgets.CoolItem; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class MainClass {

 public static void main(String[] a) {
   Display d = new Display();
   Shell s = new Shell(d);
   s.setText("A Tabbed Shell Example");
   final CoolBar bar = new CoolBar(s, SWT.BORDER);
   bar.setSize(280, 70);
   bar.setLocation(0, 0);
   // final Image openIcon = new Image(d, "c:\\icons\\open.jpg");
   final CoolItem openCoolItem = new CoolItem(bar, SWT.NONE);
   final Button openBtn = new Button(bar, SWT.PUSH);
   // openBtn.setImage(openIcon);
   openBtn.pack();
   Point size = openBtn.getSize();
   openCoolItem.setControl(openBtn);
   openCoolItem.setSize(openCoolItem.ruputeSize(size.x, size.y));
   s.open();
   while (!s.isDisposed()) {
     if (!d.readAndDispatch())
       d.sleep();
   }
   d.dispose();
 }

}


      </source>