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

📄 shelltab.java

📁 SUN公司eclipse3.2.2经典例子
💻 JAVA
字号:
/******************************************************************************* * Copyright (c) 2000, 2006 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.widgets.*;import org.eclipse.swt.layout.*;import org.eclipse.swt.events.*;class ShellTab extends Tab {		/* Style widgets added to the "Style" groups, and "Other" group */	Button noParentButton, parentButton;	Button noTrimButton, closeButton, titleButton, minButton, maxButton, borderButton, resizeButton, onTopButton, toolButton;	Button createButton, closeAllButton;	Button modelessButton, primaryModalButton, applicationModalButton, systemModalButton;	Button imageButton;	Group parentStyleGroup, modalStyleGroup;	/* Variables used to track the open shells */	int shellCount = 0;	Shell [] shells = new Shell [4];		/**	 * Creates the Tab within a given instance of ControlExample.	 */	ShellTab(ControlExample instance) {		super(instance);	}	/**	 * Close all the example shells.	 */	void closeAllShells() {		for (int i = 0; i<shellCount; i++) {			if (shells[i] != null & !shells [i].isDisposed ()) {				shells [i].dispose();			}		}		shellCount = 0;	}		/**	 * Handle the Create button selection event.	 *	 * @param event org.eclipse.swt.events.SelectionEvent	 */	public void createButtonSelected(SelectionEvent event) {			/*		 * Remember the example shells so they		 * can be disposed by the user.		 */		if (shellCount >= shells.length) {			Shell [] newShells = new Shell [shells.length + 4];			System.arraycopy (shells, 0, newShells, 0, shells.length);			shells = newShells;		}			/* Compute the shell style */		int style = SWT.NONE;		if (noTrimButton.getSelection()) style |= SWT.NO_TRIM;		if (closeButton.getSelection()) style |= SWT.CLOSE;		if (titleButton.getSelection()) style |= SWT.TITLE;		if (minButton.getSelection()) style |= SWT.MIN;		if (maxButton.getSelection()) style |= SWT.MAX;		if (borderButton.getSelection()) style |= SWT.BORDER;		if (resizeButton.getSelection()) style |= SWT.RESIZE;		if (onTopButton.getSelection()) style |= SWT.ON_TOP;		if (toolButton.getSelection()) style |= SWT.TOOL;		if (modelessButton.getSelection()) style |= SWT.MODELESS;		if (primaryModalButton.getSelection()) style |= SWT.PRIMARY_MODAL;		if (applicationModalButton.getSelection()) style |= SWT.APPLICATION_MODAL;		if (systemModalButton.getSelection()) style |= SWT.SYSTEM_MODAL;			/* Create the shell with or without a parent */		if (noParentButton.getSelection ()) {			shells [shellCount] = new Shell (style);		} else {			shells [shellCount] = new Shell (shell, style);		}		final Shell currentShell = shells [shellCount];		Button button = new Button(currentShell, SWT.PUSH);		button.setBounds(20, 20, 120, 30);		Button closeButton = new Button(currentShell, SWT.PUSH);		closeButton.setBounds(160, 20, 120, 30);		closeButton.setText(ControlExample.getResourceString("Close"));		closeButton.addListener(SWT.Selection, new Listener() {			public void handleEvent(Event event) {				currentShell.dispose();			}		});			/* Set the size, title, and image, and open the shell */		currentShell.setSize (300, 100);		currentShell.setText (ControlExample.getResourceString("Title") + shellCount);		if (imageButton.getSelection()) currentShell.setImage(instance.images[ControlExample.ciTarget]);		if (backgroundImageButton.getSelection()) currentShell.setBackgroundImage(instance.images[ControlExample.ciBackground]);		hookListeners (currentShell);		currentShell.open ();		shellCount++;	}		/**	 * Creates the "Control" group. 	 */	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 a group for the decoration style controls */		styleGroup = new Group (controlGroup, SWT.NONE);		styleGroup.setLayout (new GridLayout ());		styleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false, 1, 3));		styleGroup.setText (ControlExample.getResourceString("Decoration_Styles"));			/* Create a group for the modal style controls */		modalStyleGroup = new Group (controlGroup, SWT.NONE);		modalStyleGroup.setLayout (new GridLayout ());		modalStyleGroup.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));		modalStyleGroup.setText (ControlExample.getResourceString("Modal_Styles"));				/* Create a group for the 'other' controls */		otherGroup = new Group (controlGroup, SWT.NONE);		otherGroup.setLayout (new GridLayout ());		otherGroup.setLayoutData (new GridData(SWT.FILL, SWT.FILL, false, false));		otherGroup.setText (ControlExample.getResourceString("Other"));		/* Create a group for the parent style controls */		parentStyleGroup = new Group (controlGroup, SWT.NONE);		parentStyleGroup.setLayout (new GridLayout ());		GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);		parentStyleGroup.setLayoutData (gridData);		parentStyleGroup.setText (ControlExample.getResourceString("Parent"));	}		/**	 * Creates the "Control" widget children.	 */	void createControlWidgets () {			/* Create the parent style buttons */		noParentButton = new Button (parentStyleGroup, SWT.RADIO);		noParentButton.setText (ControlExample.getResourceString("No_Parent"));		parentButton = new Button (parentStyleGroup, SWT.RADIO);		parentButton.setText (ControlExample.getResourceString("Parent"));			/* Create the decoration style buttons */		noTrimButton = new Button (styleGroup, SWT.CHECK);		noTrimButton.setText ("SWT.NO_TRIM");		closeButton = new Button (styleGroup, SWT.CHECK);		closeButton.setText ("SWT.CLOSE");		titleButton = new Button (styleGroup, SWT.CHECK);		titleButton.setText ("SWT.TITLE");		minButton = new Button (styleGroup, SWT.CHECK);		minButton.setText ("SWT.MIN");		maxButton = new Button (styleGroup, SWT.CHECK);		maxButton.setText ("SWT.MAX");		borderButton = new Button (styleGroup, SWT.CHECK);		borderButton.setText ("SWT.BORDER");		resizeButton = new Button (styleGroup, SWT.CHECK);		resizeButton.setText ("SWT.RESIZE");		onTopButton = new Button (styleGroup, SWT.CHECK);		onTopButton.setText ("SWT.ON_TOP");		toolButton = new Button (styleGroup, SWT.CHECK);		toolButton.setText ("SWT.TOOL");			/* Create the modal style buttons */		modelessButton = new Button (modalStyleGroup, SWT.RADIO);		modelessButton.setText ("SWT.MODELESS");		primaryModalButton = new Button (modalStyleGroup, SWT.RADIO);		primaryModalButton.setText ("SWT.PRIMARY_MODAL");		applicationModalButton = new Button (modalStyleGroup, SWT.RADIO);		applicationModalButton.setText ("SWT.APPLICATION_MODAL");		systemModalButton = new Button (modalStyleGroup, SWT.RADIO);		systemModalButton.setText ("SWT.SYSTEM_MODAL");			/* Create the 'other' buttons */		imageButton = new Button (otherGroup, SWT.CHECK);		imageButton.setText (ControlExample.getResourceString("Image"));		backgroundImageButton = new Button(otherGroup, SWT.CHECK);		backgroundImageButton.setText(ControlExample.getResourceString("BackgroundImage"));			/* Create the "create" and "closeAll" buttons */		createButton = new Button (controlGroup, SWT.NONE);		GridData gridData = new GridData (GridData.HORIZONTAL_ALIGN_END);		createButton.setLayoutData (gridData);		createButton.setText (ControlExample.getResourceString("Create_Shell"));		closeAllButton = new Button (controlGroup, SWT.NONE);		gridData = new GridData (GridData.HORIZONTAL_ALIGN_BEGINNING);		closeAllButton.setText (ControlExample.getResourceString("Close_All_Shells"));		closeAllButton.setLayoutData (gridData);			/* Add the listeners */		createButton.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(SelectionEvent e) {				createButtonSelected(e);			}		});		closeAllButton.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(SelectionEvent e) {				closeAllShells ();			}		});		SelectionListener decorationButtonListener = new SelectionAdapter() {			public void widgetSelected(SelectionEvent event) {				decorationButtonSelected(event);			}		};		noTrimButton.addSelectionListener (decorationButtonListener);		closeButton.addSelectionListener (decorationButtonListener);		titleButton.addSelectionListener (decorationButtonListener);		minButton.addSelectionListener (decorationButtonListener);		maxButton.addSelectionListener (decorationButtonListener);		borderButton.addSelectionListener (decorationButtonListener);		resizeButton.addSelectionListener (decorationButtonListener);		applicationModalButton.addSelectionListener (decorationButtonListener);		systemModalButton.addSelectionListener (decorationButtonListener);			/* Set the default state */		noParentButton.setSelection (true);		modelessButton.setSelection (true);		backgroundImageButton.setSelection(false);	}		/**	 * Handle a decoration button selection event.	 *	 * @param event org.eclipse.swt.events.SelectionEvent	 */	public void decorationButtonSelected(SelectionEvent event) {			/* Make sure if the modal style is SWT.APPLICATION_MODAL or 		 * SWT.SYSTEM_MODAL the style SWT.CLOSE is also selected.		 * This is to make sure the user can close the shell.		 */		Button widget = (Button) event.widget;		if (widget == applicationModalButton || widget == systemModalButton) {			if (widget.getSelection()) {				closeButton.setSelection (true);				noTrimButton.setSelection (false);			} 			return;		}		if (widget == closeButton) {			if (applicationModalButton.getSelection() || systemModalButton.getSelection()) {				closeButton.setSelection (true);			}		}			/*		 * Make sure if the No Trim button is selected then		 * all other decoration buttons are deselected.		 */		if (widget.getSelection() && widget != noTrimButton) {			noTrimButton.setSelection (false);			return;		}		if (widget.getSelection() && widget == noTrimButton) {			if (applicationModalButton.getSelection() || systemModalButton.getSelection()) {				noTrimButton.setSelection (false);				return;			}			closeButton.setSelection (false);			titleButton.setSelection (false);			minButton.setSelection (false);			maxButton.setSelection (false);			borderButton.setSelection (false);			resizeButton.setSelection (false);			return;		}	}		/**	 * Gets the text for the tab folder item.	 */	String getTabText () {		return "Shell";	}}

⌨️ 快捷键说明

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