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

📄 snippet125.java

📁 Eclipse JAVA开发软件中SWT各控件范例源码
💻 JAVA
字号:
/******************************************************************************* * Copyright (c) 2000, 2005 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.snippets;/* * Tool Tips example snippet: create fake tool tips for items in a table * * For a list of all SWT example snippets see * http://www.eclipse.org/swt/snippets/ */import org.eclipse.swt.*;import org.eclipse.swt.graphics.*;import org.eclipse.swt.layout.*;import org.eclipse.swt.widgets.*;public class Snippet125 {public static void main (String[] args) {	final Display display = new Display ();	final Shell shell = new Shell (display);	shell.setLayout (new FillLayout ());	final Table table = new Table (shell, SWT.BORDER);	for (int i = 0; i < 20; i++) {		TableItem item = new TableItem (table, SWT.NONE);		item.setText ("item " + i);	}	// Disable native tooltip	table.setToolTipText ("");		// Implement a "fake" tooltip	final Listener labelListener = new Listener () {		public void handleEvent (Event event) {			Label label = (Label)event.widget;			Shell shell = label.getShell ();			switch (event.type) {				case SWT.MouseDown:					Event e = new Event ();					e.item = (TableItem) label.getData ("_TABLEITEM");					// Assuming table is single select, set the selection as if					// the mouse down event went through to the table					table.setSelection (new TableItem [] {(TableItem) e.item});					table.notifyListeners (SWT.Selection, e);					shell.dispose ();					table.setFocus();					break;				case SWT.MouseExit:					shell.dispose ();					break;			}		}	};		Listener tableListener = new Listener () {		Shell tip = null;		Label label = null;		public void handleEvent (Event event) {			switch (event.type) {				case SWT.Dispose:				case SWT.KeyDown:				case SWT.MouseMove: {					if (tip == null) break;					tip.dispose ();					tip = null;					label = null;					break;				}				case SWT.MouseHover: {					TableItem item = table.getItem (new Point (event.x, event.y));					if (item != null) {						if (tip != null  && !tip.isDisposed ()) tip.dispose ();						tip = new Shell (shell, SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL);						tip.setBackground (display.getSystemColor (SWT.COLOR_INFO_BACKGROUND));						FillLayout layout = new FillLayout ();						layout.marginWidth = 2;						tip.setLayout (layout);						label = new Label (tip, SWT.NONE);						label.setForeground (display.getSystemColor (SWT.COLOR_INFO_FOREGROUND));						label.setBackground (display.getSystemColor (SWT.COLOR_INFO_BACKGROUND));						label.setData ("_TABLEITEM", item);						label.setText (item.getText ());						label.addListener (SWT.MouseExit, labelListener);						label.addListener (SWT.MouseDown, labelListener);						Point size = tip.computeSize (SWT.DEFAULT, SWT.DEFAULT);						Rectangle rect = item.getBounds (0);						Point pt = table.toDisplay (rect.x, rect.y);						tip.setBounds (pt.x, pt.y, size.x, size.y);						tip.setVisible (true);					}				}			}		}	};	table.addListener (SWT.Dispose, tableListener);	table.addListener (SWT.KeyDown, tableListener);	table.addListener (SWT.MouseMove, tableListener);	table.addListener (SWT.MouseHover, tableListener);	shell.pack ();	shell.open();	while (!shell.isDisposed()) {		if (!display.readAndDispatch())			display.sleep();	}	display.dispose();}}

⌨️ 快捷键说明

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