⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toolbartab.java

📁 eclipse 的程序源码
💻 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.examples.controlexample;import org.eclipse.swt.*;import org.eclipse.swt.graphics.*;import org.eclipse.swt.widgets.*;import org.eclipse.swt.layout.*;import org.eclipse.swt.events.*;class ToolBarTab extends Tab {	/* Example widgets and groups that contain them */	ToolBar imageToolBar, textToolBar, imageTextToolBar;	Group imageToolBarGroup, textToolBarGroup, imageTextToolBarGroup;		/* Style widgets added to the "Style" group */	Button horizontalButton, verticalButton, flatButton, shadowOutButton, wrapButton, rightButton;	/* Other widgets added to the "Other" group */	Button comboChildButton;		/**	 * Creates the Tab within a given instance of ControlExample.	 */	ToolBarTab(ControlExample instance) {		super(instance);	}	/**	 * Creates the "Example" group.	 */	void createExampleGroup () {		super.createExampleGroup ();				/* Create a group for the image tool bar */		imageToolBarGroup = new Group (exampleGroup, SWT.NONE);		imageToolBarGroup.setLayout (new GridLayout ());		imageToolBarGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));		imageToolBarGroup.setText (ControlExample.getResourceString("Image_ToolBar"));			/* Create a group for the text tool bar */		textToolBarGroup = new Group (exampleGroup, SWT.NONE);		textToolBarGroup.setLayout (new GridLayout ());		textToolBarGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));		textToolBarGroup.setText (ControlExample.getResourceString("Text_ToolBar"));				/* Create a group for the image and text tool bar */		imageTextToolBarGroup = new Group (exampleGroup, SWT.NONE);		imageTextToolBarGroup.setLayout (new GridLayout ());		imageTextToolBarGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));		imageTextToolBarGroup.setText (ControlExample.getResourceString("ImageText_ToolBar"));	}		/**	 * Creates the "Example" widgets.	 */	void createExampleWidgets () {			/* Compute the widget style */		int style = getDefaultStyle();		if (horizontalButton.getSelection()) style |= SWT.HORIZONTAL;		if (verticalButton.getSelection()) style |= SWT.VERTICAL;		if (flatButton.getSelection()) style |= SWT.FLAT;		if (wrapButton.getSelection()) style |= SWT.WRAP;		if (borderButton.getSelection()) style |= SWT.BORDER;		if (shadowOutButton.getSelection()) style |= SWT.SHADOW_OUT;		if (rightButton.getSelection()) style |= SWT.RIGHT;			/*		* Create the example widgets.		*		* A tool bar must consist of all image tool		* items or all text tool items but not both.		*/			/* Create the image tool bar */		imageToolBar = new ToolBar (imageToolBarGroup, style);		ToolItem item = new ToolItem (imageToolBar, SWT.PUSH);		item.setImage (instance.images[ControlExample.ciClosedFolder]);		item.setToolTipText("SWT.PUSH");		item = new ToolItem (imageToolBar, SWT.PUSH);		item.setImage (instance.images[ControlExample.ciClosedFolder]);		item.setToolTipText ("SWT.PUSH");		item = new ToolItem (imageToolBar, SWT.RADIO);		item.setImage (instance.images[ControlExample.ciOpenFolder]);		item.setToolTipText ("SWT.RADIO");		item = new ToolItem (imageToolBar, SWT.RADIO);		item.setImage (instance.images[ControlExample.ciOpenFolder]);		item.setToolTipText ("SWT.RADIO");		item = new ToolItem (imageToolBar, SWT.CHECK);		item.setImage (instance.images[ControlExample.ciTarget]);		item.setToolTipText ("SWT.CHECK");		item = new ToolItem (imageToolBar, SWT.RADIO);		item.setImage (instance.images[ControlExample.ciClosedFolder]);		item.setToolTipText ("SWT.RADIO");		item = new ToolItem (imageToolBar, SWT.RADIO);		item.setImage (instance.images[ControlExample.ciClosedFolder]);		item.setToolTipText ("SWT.RADIO");		item = new ToolItem (imageToolBar, SWT.SEPARATOR);		item.setToolTipText("SWT.SEPARATOR");		if (comboChildButton.getSelection ()) {			Combo combo = new Combo (imageToolBar, SWT.NONE);			combo.setItems (new String [] {"250", "500", "750"});			combo.setText (combo.getItem (0));			combo.pack ();			item.setWidth (combo.getSize ().x);			item.setControl (combo);		}		item = new ToolItem (imageToolBar, SWT.DROP_DOWN);		item.setImage (instance.images[ControlExample.ciTarget]);		item.setToolTipText ("SWT.DROP_DOWN");		item.addSelectionListener(new DropDownSelectionListener());			/* Create the text tool bar */		textToolBar = new ToolBar (textToolBarGroup, style);		item = new ToolItem (textToolBar, SWT.PUSH);		item.setText (ControlExample.getResourceString("Push"));		item.setToolTipText("SWT.PUSH");		item = new ToolItem (textToolBar, SWT.PUSH);		item.setText (ControlExample.getResourceString("Push"));		item.setToolTipText("SWT.PUSH");		item = new ToolItem (textToolBar, SWT.RADIO);		item.setText (ControlExample.getResourceString("Radio"));		item.setToolTipText("SWT.RADIO");		item = new ToolItem (textToolBar, SWT.RADIO);		item.setText (ControlExample.getResourceString("Radio"));		item.setToolTipText("SWT.RADIO");		item = new ToolItem (textToolBar, SWT.CHECK);		item.setText (ControlExample.getResourceString("Check"));		item.setToolTipText("SWT.CHECK");		item = new ToolItem (textToolBar, SWT.RADIO);		item.setText (ControlExample.getResourceString("Radio"));		item.setToolTipText("SWT.RADIO");		item = new ToolItem (textToolBar, SWT.RADIO);		item.setText (ControlExample.getResourceString("Radio"));		item.setToolTipText("SWT.RADIO");		item = new ToolItem (textToolBar, SWT.SEPARATOR);		item.setToolTipText("SWT.SEPARATOR");		if (comboChildButton.getSelection ()) {			Combo combo = new Combo (textToolBar, SWT.NONE);			combo.setItems (new String [] {"250", "500", "750"});			combo.setText (combo.getItem (0));			combo.pack ();			item.setWidth (combo.getSize ().x);			item.setControl (combo);		}		item = new ToolItem (textToolBar, SWT.DROP_DOWN);		item.setText (ControlExample.getResourceString("Drop_Down"));		item.setToolTipText("SWT.DROP_DOWN");		item.addSelectionListener(new DropDownSelectionListener());		/* Create the image and text tool bar */		imageTextToolBar = new ToolBar (imageTextToolBarGroup, style);		item = new ToolItem (imageTextToolBar, SWT.PUSH);		item.setImage (instance.images[ControlExample.ciClosedFolder]);		item.setText (ControlExample.getResourceString("Push"));		item.setToolTipText("SWT.PUSH");		item = new ToolItem (imageTextToolBar, SWT.PUSH);		item.setImage (instance.images[ControlExample.ciClosedFolder]);		item.setText (ControlExample.getResourceString("Push"));		item.setToolTipText("SWT.PUSH");		item = new ToolItem (imageTextToolBar, SWT.RADIO);		item.setImage (instance.images[ControlExample.ciOpenFolder]);		item.setText (ControlExample.getResourceString("Radio"));		item.setToolTipText("SWT.RADIO");		item = new ToolItem (imageTextToolBar, SWT.RADIO);		item.setImage (instance.images[ControlExample.ciOpenFolder]);		item.setText (ControlExample.getResourceString("Radio"));		item.setToolTipText("SWT.RADIO");		item = new ToolItem (imageTextToolBar, SWT.CHECK);		item.setImage (instance.images[ControlExample.ciTarget]);		item.setText (ControlExample.getResourceString("Check"));		item.setToolTipText("SWT.CHECK");		item = new ToolItem (imageTextToolBar, SWT.RADIO);		item.setImage (instance.images[ControlExample.ciClosedFolder]);		item.setText (ControlExample.getResourceString("Radio"));		item.setToolTipText("SWT.RADIO");		item = new ToolItem (imageTextToolBar, SWT.RADIO);		item.setImage (instance.images[ControlExample.ciClosedFolder]);		item.setText (ControlExample.getResourceString("Radio"));		item.setToolTipText("SWT.RADIO");		item = new ToolItem (imageTextToolBar, SWT.SEPARATOR);		item.setToolTipText("SWT.SEPARATOR");		if (comboChildButton.getSelection ()) {			Combo combo = new Combo (imageTextToolBar, SWT.NONE);			combo.setItems (new String [] {"250", "500", "750"});			combo.setText (combo.getItem (0));			combo.pack ();			item.setWidth (combo.getSize ().x);			item.setControl (combo);		}		item = new ToolItem (imageTextToolBar, SWT.DROP_DOWN);		item.setImage (instance.images[ControlExample.ciTarget]);		item.setText (ControlExample.getResourceString("Drop_Down"));		item.setToolTipText("SWT.DROP_DOWN");		item.addSelectionListener(new DropDownSelectionListener());		/*		* Do not add the selection event for this drop down		* tool item.  Without hooking the event, the drop down		* widget does nothing special when the drop down area		* is selected.		*/	}		/**	 * Creates the "Other" group.	 */	void createOtherGroup () {		super.createOtherGroup ();			/* Create display controls specific to this example */		comboChildButton = new Button (otherGroup, SWT.CHECK);		comboChildButton.setText (ControlExample.getResourceString("Combo_child"));			/* Add the listeners */		comboChildButton.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				recreateExampleWidgets ();			}		});	}		/**	 * Creates the "Style" group.	 */	void createStyleGroup() {		super.createStyleGroup();			/* Create the extra widgets */		horizontalButton = new Button (styleGroup, SWT.RADIO);		horizontalButton.setText ("SWT.HORIZONTAL");		verticalButton = new Button (styleGroup, SWT.RADIO);		verticalButton.setText ("SWT.VERTICAL");		flatButton = new Button (styleGroup, SWT.CHECK);		flatButton.setText ("SWT.FLAT");		shadowOutButton = new Button (styleGroup, SWT.CHECK);		shadowOutButton.setText ("SWT.SHADOW_OUT");		wrapButton = new Button (styleGroup, SWT.CHECK);		wrapButton.setText ("SWT.WRAP");		rightButton = new Button (styleGroup, SWT.CHECK);		rightButton.setText ("SWT.RIGHT");		borderButton = new Button (styleGroup, SWT.CHECK);		borderButton.setText ("SWT.BORDER");	}		void disposeExampleWidgets () {		super.disposeExampleWidgets ();	}		/**	 * Gets the "Example" widget children's items, if any.	 *	 * @return an array containing the example widget children's items	 */	Item [] getExampleWidgetItems () {		Item [] imageToolBarItems = imageToolBar.getItems();		Item [] textToolBarItems = textToolBar.getItems();		Item [] imageTextToolBarItems = imageTextToolBar.getItems();		Item [] allItems = new Item [imageToolBarItems.length + textToolBarItems.length + imageTextToolBarItems.length];		System.arraycopy(imageToolBarItems, 0, allItems, 0, imageToolBarItems.length);		System.arraycopy(textToolBarItems, 0, allItems, imageToolBarItems.length, textToolBarItems.length);		System.arraycopy(imageTextToolBarItems, 0, allItems, imageToolBarItems.length + textToolBarItems.length, imageTextToolBarItems.length);		return allItems;	}		/**	 * Gets the "Example" widget children.	 */	Control [] getExampleWidgets () {		return new Control [] {imageToolBar, textToolBar, imageTextToolBar};	}		/**	 * Gets the text for the tab folder item.	 */	String getTabText () {		return "ToolBar";	}		/**	 * Sets the state of the "Example" widgets.	 */	void setExampleWidgetState () {		super.setExampleWidgetState ();		horizontalButton.setSelection ((imageToolBar.getStyle () & SWT.HORIZONTAL) != 0);		verticalButton.setSelection ((imageToolBar.getStyle () & SWT.VERTICAL) != 0);		flatButton.setSelection ((imageToolBar.getStyle () & SWT.FLAT) != 0);		wrapButton.setSelection ((imageToolBar.getStyle () & SWT.WRAP) != 0);		shadowOutButton.setSelection ((imageToolBar.getStyle () & SWT.SHADOW_OUT) != 0);		borderButton.setSelection ((imageToolBar.getStyle () & SWT.BORDER) != 0);		rightButton.setSelection ((imageToolBar.getStyle () & SWT.RIGHT) != 0);	}		/**	 * Listens to widgetSelected() events on SWT.DROP_DOWN type ToolItems	 * and opens/closes a menu when appropriate.	 */	class DropDownSelectionListener extends SelectionAdapter {		private Menu    menu = null;		private boolean visible = false;				public void widgetSelected(SelectionEvent event) {			// Create the menu if it has not already been created			if (menu == null) {				// Lazy create the menu.				Shell shell = tabFolderPage.getShell();				menu = new Menu(shell);				for (int i = 0; i < 9; ++i) {					final String text = ControlExample.getResourceString("DropDownData_" + i);					if (text.length() != 0) {						MenuItem menuItem = new MenuItem(menu, SWT.NONE);						menuItem.setText(text);						/*						 * Add a menu selection listener so that the menu is hidden						 * when the user selects an item from the drop down menu.						 */						menuItem.addSelectionListener(new SelectionAdapter() {							public void widgetSelected(SelectionEvent e) {								setMenuVisible(false);							}						});					} else {						new MenuItem(menu, SWT.SEPARATOR);					}				}			}						/**			 * A selection event will be fired when a drop down tool			 * item is selected in the main area and in the drop			 * down arrow.  Examine the event detail to determine			 * where the widget was selected.			 */					if (event.detail == SWT.ARROW) {				/*				 * The drop down arrow was selected.				 */				if (visible) {					// Hide the menu to give the Arrow the appearance of being a toggle button.					setMenuVisible(false);				} else {						// Position the menu below and vertically aligned with the the drop down tool button.					final ToolItem toolItem = (ToolItem) event.widget;					final ToolBar  toolBar = toolItem.getParent();										Rectangle toolItemBounds = toolItem.getBounds();					Point point = toolBar.toDisplay(new Point(toolItemBounds.x, toolItemBounds.y));					menu.setLocation(point.x, point.y + toolItemBounds.height);					setMenuVisible(true);				}			} else {				/*				 * Main area of drop down tool item selected.				 * An application would invoke the code to perform the action for the tool item.				 */			}		}		private void setMenuVisible(boolean visible) {			menu.setVisible(visible);			this.visible = visible;		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -