Java by API/org.eclipse.swt.widgets/CoolItem
Содержание
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>