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

📄 tab.java

📁 eclipse中
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/******************************************************************************* * 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 Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-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.*;/** * <code>Tab</code> is the abstract superclass of every page * in the example's tab folder.  Each page in the tab folder * describes a control. * * A Tab itself is not a control but instead provides a * hierarchy with which to share code that is common to * every page in the folder. * * A typical page in a Tab contains a two column composite. * The left column contains the "Example" group.  The right * column contains "Control" group.  The "Control" group * contains controls that allow the user to interact with * the example control.  The "Control" group typically * contains a "Style", "Other" and "Size" group.  Subclasses * can override these defaults to augment a group or stop * a group from being created. */abstract class Tab {	/* Common control buttons */	Button borderButton, enabledButton, visibleButton;	Button preferredButton, tooSmallButton, smallButton, largeButton, fillButton;	/* Common groups and composites */	Composite tabFolderPage;	Group exampleGroup, controlGroup, listenersGroup, otherGroup, sizeGroup, styleGroup, colorGroup;	/* Controlling instance */	final ControlExample instance;	/* Sizing constants for the "Size" group */	static final int TOO_SMALL_SIZE	= 10;	static final int SMALL_SIZE		= 50;	static final int LARGE_SIZE		= 100;		/* Right-to-left support */	static final boolean RTL_SUPPORT_ENABLE = false;	Group orientationGroup;	Button rtlButton, ltrButton, defaultOrietationButton;	/* Controls and resources for the "Colors" group */	Button foregroundButton, backgroundButton, fontButton;	Image foregroundImage, backgroundImage;	Color foregroundColor, backgroundColor;	Font font;	/* Event logging variables and controls */	Text eventConsole;	boolean logging = false;	boolean [] eventsFilter;	static final String [] EVENT_NAMES = {		"KeyDown", "KeyUp",		"MouseDown", "MouseUp", "MouseMove", "MouseEnter", "MouseExit", "MouseDoubleClick",		"Paint", "Move", "Resize", "Dispose",		"Selection", "DefaultSelection",		"FocusIn", "FocusOut",		"Expand", "Collapse",		"Iconify", "Deiconify", "Close",		"Show", "Hide",		"Modify", "Verify",		"Activate", "Deactivate",		"Help", "DragDetect", "Arm", "Traverse", "MouseHover",		"HardKeyDown", "HardKeyUp",		"MenuDetect"	};	/**	 * Creates the Tab within a given instance of ControlExample.	 */	Tab(ControlExample instance) {		this.instance = instance;	}	/**	 * Creates the "Control" group.  The "Control" group	 * is typically the right hand column in the tab.	 */	void createControlGroup () {			/*		 * Create the "Control" group.  This is the group on the		 * right half of each example tab.  It consists of the		 * "Style" group, the "Other" group and the "Size" group.		 */			controlGroup = new Group (tabFolderPage, SWT.NONE);		controlGroup.setLayout (new GridLayout (2, true));		controlGroup.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));		controlGroup.setText (ControlExample.getResourceString("Parameters"));			/* Create individual groups inside the "Control" group */		createStyleGroup ();		createOtherGroup ();		createSizeGroup ();		createColorGroup ();		if (RTL_SUPPORT_ENABLE) {			createOrientationGroup ();		}			/*		 * For each Button child in the style group, add a selection		 * listener that will recreate the example controls.  If the		 * style group button is a RADIO button, ensure that the radio		 * button is selected before recreating the example controls.		 * When the user selects a RADIO button, the current RADIO		 * button in the group is deselected and the new RADIO button		 * is selected automatically.  The listeners are notified for		 * both these operations but typically only do work when a RADIO		 * button is selected.		 */		SelectionListener selectionListener = new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				if ((event.widget.getStyle () & SWT.RADIO) != 0) {					if (!((Button) event.widget).getSelection ()) return;				}				recreateExampleWidgets ();			};		};		Control [] children = styleGroup.getChildren ();		for (int i=0; i<children.length; i++) {			if (children [i] instanceof Button) {				Button button = (Button) children [i];				button.addSelectionListener (selectionListener);			}		}		if (RTL_SUPPORT_ENABLE) {			rtlButton.addSelectionListener (selectionListener); 			ltrButton.addSelectionListener (selectionListener);					defaultOrietationButton.addSelectionListener (selectionListener);		}	}		/**	 * Creates the "Control" widget children.	 * Subclasses override this method to augment	 * the standard controls created in the "Style",	 * "Other" and "Size" groups.	 */	void createControlWidgets () {	}		/**	 * Creates the "Colors" group. This is typically	 * a child of the "Control" group. Subclasses override	 * this method to customize and set system colors.	 */	void createColorGroup () {		/* Create the group */		colorGroup = new Group(controlGroup, SWT.NONE);		colorGroup.setLayout (new GridLayout (2, false));		colorGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));		colorGroup.setText (ControlExample.getResourceString ("Colors"));		new Label (colorGroup, SWT.NONE).setText (ControlExample.getResourceString ("Foreground_Color"));		foregroundButton = new Button (colorGroup, SWT.PUSH);		new Label (colorGroup, SWT.NONE).setText (ControlExample.getResourceString ("Background_Color"));		backgroundButton = new Button (colorGroup, SWT.PUSH);		fontButton = new Button (colorGroup, SWT.PUSH);		fontButton.setText(ControlExample.getResourceString("Font"));		fontButton.setLayoutData(new GridData (GridData.HORIZONTAL_ALIGN_FILL));		Button defaultsButton = new Button (colorGroup, SWT.PUSH);		defaultsButton.setText(ControlExample.getResourceString("Defaults"));		Shell shell = controlGroup.getShell ();		final ColorDialog foregroundDialog = new ColorDialog (shell);		final ColorDialog backgroundDialog = new ColorDialog (shell);		final FontDialog fontDialog = new FontDialog (shell);		/* Create images to display current colors */		int imageSize = 12;		Display display = shell.getDisplay ();		foregroundImage = new Image (display, imageSize, imageSize);		backgroundImage = new Image (display, imageSize, imageSize);			/* Add listeners to set the colors and font */		foregroundButton.setImage(foregroundImage); // sets the size of the button		foregroundButton.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(SelectionEvent event) {				Color oldColor = foregroundColor;				if (oldColor == null) {					Control [] controls = getExampleWidgets ();					if (controls.length > 0) oldColor = controls [0].getForeground ();				}				if (oldColor != null) foregroundDialog.setRGB(oldColor.getRGB()); // seed dialog with current color				RGB rgb = foregroundDialog.open();				if (rgb == null) return;				oldColor = foregroundColor; // save old foreground color to dispose when done				foregroundColor = new Color (event.display, rgb);				setExampleWidgetForeground ();				if (oldColor != null) oldColor.dispose ();			}		});		backgroundButton.setImage(backgroundImage); // sets the size of the button		backgroundButton.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(SelectionEvent event) {				Color oldColor = backgroundColor;				if (oldColor == null) {					Control [] controls = getExampleWidgets ();					if (controls.length > 0) oldColor = controls [0].getBackground (); // seed dialog with current color				}				if (oldColor != null) backgroundDialog.setRGB(oldColor.getRGB());				RGB rgb = backgroundDialog.open();				if (rgb == null) return;				oldColor = backgroundColor; // save old background color to dispose when done				backgroundColor = new Color (event.display, rgb);				setExampleWidgetBackground ();				if (oldColor != null) oldColor.dispose ();			}		});		fontButton.addSelectionListener(new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				Font oldFont = font;				if (oldFont == null) {					Control [] controls = getExampleWidgets ();					if (controls.length > 0) oldFont = controls [0].getFont ();				}				if (oldFont != null) fontDialog.setFontList(oldFont.getFontData()); // seed dialog with current font				FontData fontData = fontDialog.open ();				if (fontData == null) return;				oldFont = font; // dispose old font when done				font = new Font (event.display, fontData);				setExampleWidgetFont ();				setExampleWidgetSize ();				if (oldFont != null) oldFont.dispose ();			}		});		defaultsButton.addSelectionListener(new SelectionAdapter () {			public void widgetSelected (SelectionEvent e) {				resetColorsAndFonts ();			}		});		shell.addDisposeListener(new DisposeListener() {			public void widgetDisposed(DisposeEvent event) {				if (foregroundImage != null) foregroundImage.dispose();				if (backgroundImage != null) backgroundImage.dispose();				if (foregroundColor != null) foregroundColor.dispose();				if (backgroundColor != null) backgroundColor.dispose();				if (font != null) font.dispose();				foregroundColor = null;				backgroundColor = null;				font = null;							}		});	}		/**	 * Creates the "Other" group.  This is typically	 * a child of the "Control" group.	 */	void createOtherGroup () {		/* Create the group */		otherGroup = new Group (controlGroup, SWT.NONE);		otherGroup.setLayout (new GridLayout ());		otherGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));		otherGroup.setText (ControlExample.getResourceString("Other"));			/* Create the controls */		enabledButton = new Button(otherGroup, SWT.CHECK);		enabledButton.setText(ControlExample.getResourceString("Enabled"));		visibleButton = new Button(otherGroup, SWT.CHECK);		visibleButton.setText(ControlExample.getResourceString("Visible"));			/* Add the listeners */		enabledButton.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				setExampleWidgetEnabled ();			}		});		visibleButton.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				setExampleWidgetVisibility ();			}		});			/* Set the default state */		enabledButton.setSelection(true);		visibleButton.setSelection(true);	}		/**	 * Create the event console popup menu.	 */	void createEventConsolePopup () {		Menu popup = new Menu (eventConsole.getShell (), SWT.POP_UP);		eventConsole.setMenu (popup);		MenuItem cut = new MenuItem (popup, SWT.PUSH);		cut.setText (ControlExample.getResourceString("MenuItem_Cut"));		cut.addListener (SWT.Selection, new Listener () {			public void handleEvent (Event event) {				eventConsole.cut ();			}		});		MenuItem copy = new MenuItem (popup, SWT.PUSH);		copy.setText (ControlExample.getResourceString("MenuItem_Copy"));		copy.addListener (SWT.Selection, new Listener () {

⌨️ 快捷键说明

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