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

📄 tabletab.java

📁 SUN公司eclipse3.2.2经典例子
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************* * Copyright (c) 2000, 2007 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 TableTab extends ScrollableTab {	/* Example widgets and groups that contain them */	Table table1;	Group tableGroup;	/* Size widgets added to the "Size" group */	Button packColumnsButton;		/* Style widgets added to the "Style" group */	Button checkButton, fullSelectionButton, hideSelectionButton;	/* Other widgets added to the "Other" group */	Button multipleColumns, moveableColumns, resizableColumns, headerVisibleButton, sortIndicatorButton, headerImagesButton, linesVisibleButton, subImagesButton;		/* Controls and resources added to the "Colors and Fonts" group */	static final int ITEM_FOREGROUND_COLOR = 3;	static final int ITEM_BACKGROUND_COLOR = 4;	static final int ITEM_FONT = 5;	static final int CELL_FOREGROUND_COLOR = 6;	static final int CELL_BACKGROUND_COLOR = 7;	static final int CELL_FONT = 8;	Color itemForegroundColor, itemBackgroundColor, cellForegroundColor, cellBackgroundColor;	Font itemFont, cellFont;		static String [] columnTitles	= {ControlExample.getResourceString("TableTitle_0"),									   ControlExample.getResourceString("TableTitle_1"),									   ControlExample.getResourceString("TableTitle_2"),									   ControlExample.getResourceString("TableTitle_3")};									   	static String[][] tableData = {		{ ControlExample.getResourceString("TableLine0_0"),				ControlExample.getResourceString("TableLine0_1"),				ControlExample.getResourceString("TableLine0_2"),				ControlExample.getResourceString("TableLine0_3") },		{ ControlExample.getResourceString("TableLine1_0"),				ControlExample.getResourceString("TableLine1_1"),				ControlExample.getResourceString("TableLine1_2"),				ControlExample.getResourceString("TableLine1_3") },		{ ControlExample.getResourceString("TableLine2_0"),				ControlExample.getResourceString("TableLine2_1"),				ControlExample.getResourceString("TableLine2_2"),				ControlExample.getResourceString("TableLine2_3") } };	Point menuMouseCoords;		/**	 * Creates the Tab within a given instance of ControlExample.	 */	TableTab(ControlExample instance) {		super(instance);	}		/**	 * Creates the "Colors and Fonts" group.	 */	void createColorAndFontGroup () {		super.createColorAndFontGroup();				TableItem item = new TableItem(colorAndFontTable, SWT.None);		item.setText(ControlExample.getResourceString ("Item_Foreground_Color"));		item = new TableItem(colorAndFontTable, SWT.None);		item.setText(ControlExample.getResourceString ("Item_Background_Color"));		item = new TableItem(colorAndFontTable, SWT.None);		item.setText(ControlExample.getResourceString ("Item_Font"));		item = new TableItem(colorAndFontTable, SWT.None);		item.setText(ControlExample.getResourceString ("Cell_Foreground_Color"));		item = new TableItem(colorAndFontTable, SWT.None);		item.setText(ControlExample.getResourceString ("Cell_Background_Color"));		item = new TableItem(colorAndFontTable, SWT.None);		item.setText(ControlExample.getResourceString ("Cell_Font"));		shell.addDisposeListener(new DisposeListener() {			public void widgetDisposed(DisposeEvent event) {				if (itemBackgroundColor != null) itemBackgroundColor.dispose();				if (itemForegroundColor != null) itemForegroundColor.dispose();				if (itemFont != null) itemFont.dispose();				if (cellBackgroundColor != null) cellBackgroundColor.dispose();				if (cellForegroundColor != null) cellForegroundColor.dispose();				if (cellFont != null) cellFont.dispose();				itemBackgroundColor = null;				itemForegroundColor = null;							itemFont = null;				cellBackgroundColor = null;				cellForegroundColor = null;							cellFont = null;			}		});	}	void changeFontOrColor(int index) {		switch (index) {		case ITEM_FOREGROUND_COLOR: {			Color oldColor = itemForegroundColor;			if (oldColor == null) oldColor = table1.getItem (0).getForeground ();			colorDialog.setRGB(oldColor.getRGB());			RGB rgb = colorDialog.open();			if (rgb == null) return;			oldColor = itemForegroundColor;			itemForegroundColor = new Color (display, rgb);			setItemForeground ();			if (oldColor != null) oldColor.dispose ();		}		break;		case ITEM_BACKGROUND_COLOR: {			Color oldColor = itemBackgroundColor;			if (oldColor == null) oldColor = table1.getItem (0).getBackground ();			colorDialog.setRGB(oldColor.getRGB());			RGB rgb = colorDialog.open();			if (rgb == null) return;			oldColor = itemBackgroundColor;			itemBackgroundColor = new Color (display, rgb);			setItemBackground ();			if (oldColor != null) oldColor.dispose ();		}		break;		case ITEM_FONT: {			Font oldFont = itemFont;			if (oldFont == null) oldFont = table1.getItem (0).getFont ();			fontDialog.setFontList(oldFont.getFontData());			FontData fontData = fontDialog.open ();			if (fontData == null) return;			oldFont = itemFont;			itemFont = new Font (display, fontData);			setItemFont ();			setExampleWidgetSize ();			if (oldFont != null) oldFont.dispose ();		}		break;		case CELL_FOREGROUND_COLOR: {			Color oldColor = cellForegroundColor;			if (oldColor == null) oldColor = table1.getItem (0).getForeground (1);			colorDialog.setRGB(oldColor.getRGB());			RGB rgb = colorDialog.open();			if (rgb == null) return;			oldColor = cellForegroundColor;			cellForegroundColor = new Color (display, rgb);			setCellForeground ();			if (oldColor != null) oldColor.dispose ();		}		break;		case CELL_BACKGROUND_COLOR: {			Color oldColor = cellBackgroundColor;			if (oldColor == null) oldColor = table1.getItem (0).getBackground (1);			colorDialog.setRGB(oldColor.getRGB());			RGB rgb = colorDialog.open();			if (rgb == null) return;			oldColor = cellBackgroundColor;			cellBackgroundColor = new Color (display, rgb);			setCellBackground ();			if (oldColor != null) oldColor.dispose ();		}		break;		case CELL_FONT: {			Font oldFont = cellFont;			if (oldFont == null) oldFont = table1.getItem (0).getFont (1);			fontDialog.setFontList(oldFont.getFontData());			FontData fontData = fontDialog.open ();			if (fontData == null) return;			oldFont = cellFont;			cellFont = new Font (display, fontData);			setCellFont ();			setExampleWidgetSize ();			if (oldFont != null) oldFont.dispose ();		}		break;		default:			super.changeFontOrColor(index);	}	}	/**	 * Creates the "Other" group.	 */	void createOtherGroup () {		super.createOtherGroup ();			/* Create display controls specific to this example */		linesVisibleButton = new Button (otherGroup, SWT.CHECK);		linesVisibleButton.setText (ControlExample.getResourceString("Lines_Visible"));		multipleColumns = new Button (otherGroup, SWT.CHECK);		multipleColumns.setText (ControlExample.getResourceString("Multiple_Columns"));		multipleColumns.setSelection(true);		headerVisibleButton = new Button (otherGroup, SWT.CHECK);		headerVisibleButton.setText (ControlExample.getResourceString("Header_Visible"));		sortIndicatorButton = new Button (otherGroup, SWT.CHECK);		sortIndicatorButton.setText (ControlExample.getResourceString("Sort_Indicator"));		moveableColumns = new Button (otherGroup, SWT.CHECK);		moveableColumns.setText (ControlExample.getResourceString("Moveable_Columns"));		resizableColumns = new Button (otherGroup, SWT.CHECK);		resizableColumns.setText (ControlExample.getResourceString("Resizable_Columns"));		headerImagesButton = new Button (otherGroup, SWT.CHECK);		headerImagesButton.setText (ControlExample.getResourceString("Header_Images"));		subImagesButton = new Button (otherGroup, SWT.CHECK);		subImagesButton.setText (ControlExample.getResourceString("Sub_Images"));		/* Add the listeners */		linesVisibleButton.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				setWidgetLinesVisible ();			}		});		multipleColumns.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				recreateExampleWidgets ();			}		});		headerVisibleButton.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				setWidgetHeaderVisible ();			}		});		sortIndicatorButton.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				setWidgetSortIndicator ();			}		});		moveableColumns.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				setColumnsMoveable ();			}		});		resizableColumns.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				setColumnsResizable ();			}		});		headerImagesButton.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				recreateExampleWidgets ();			}		});		subImagesButton.addSelectionListener (new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				recreateExampleWidgets ();			}		});	}		/**	 * Creates the "Example" group.	 */	void createExampleGroup () {		super.createExampleGroup ();				/* Create a group for the table */		tableGroup = new Group (exampleGroup, SWT.NONE);		tableGroup.setLayout (new GridLayout ());		tableGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));		tableGroup.setText ("Table");	}		/**	 * Creates the "Example" widgets.	 */	void createExampleWidgets () {			/* Compute the widget style */		int style = getDefaultStyle();		if (singleButton.getSelection ()) style |= SWT.SINGLE;		if (multiButton.getSelection ()) style |= SWT.MULTI;		if (verticalButton.getSelection ()) style |= SWT.V_SCROLL;		if (horizontalButton.getSelection ()) style |= SWT.H_SCROLL;		if (checkButton.getSelection ()) style |= SWT.CHECK;		if (fullSelectionButton.getSelection ()) style |= SWT.FULL_SELECTION;		if (hideSelectionButton.getSelection ()) style |= SWT.HIDE_SELECTION;		if (borderButton.getSelection ()) style |= SWT.BORDER;			/* Create the table widget */		table1 = new Table (tableGroup, style);			/* Fill the table with data */		boolean multiColumn = multipleColumns.getSelection();		if (multiColumn) {			for (int i = 0; i < columnTitles.length; i++) {				TableColumn tableColumn = new TableColumn(table1, SWT.NONE);				tableColumn.setText(columnTitles[i]);				tableColumn.setToolTipText(ControlExample.getResourceString("Tooltip", new String [] {columnTitles[i]}));				if (headerImagesButton.getSelection()) tableColumn.setImage(instance.images [i % 3]);			}			table1.setSortColumn(table1.getColumn(0));		}		for (int i=0; i<16; i++) {			TableItem item = new TableItem (table1, SWT.NONE);			if (multiColumn && subImagesButton.getSelection()) {				for (int j = 0; j < columnTitles.length; j++) {					item.setImage(j, instance.images [i % 3]);				}			} else {				item.setImage(instance.images [i % 3]);			}			setItemText (item, i, ControlExample.getResourceString("Index") + i);		}		packColumns();	}		void setItemText(TableItem item, int i, String node) {		int index = i % 3;		if (multipleColumns.getSelection()) {			tableData [index][0] = node;			item.setText (tableData [index]);		} else {			item.setText (node);		}	}		/**	 * Creates the "Size" group.  The "Size" group contains	 * controls that allow the user to change the size of	 * the example widgets.	 */	void createSizeGroup () {		super.createSizeGroup();			packColumnsButton = new Button (sizeGroup, SWT.PUSH);		packColumnsButton.setText (ControlExample.getResourceString("Pack_Columns"));		packColumnsButton.addSelectionListener(new SelectionAdapter () {			public void widgetSelected (SelectionEvent event) {				packColumns ();				setExampleWidgetSize ();			}		});	}	

⌨️ 快捷键说明

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