为文本框创建气球工具提示?

如何在SWT中为文本框创建气球工具提示?

这是一个经过修改的SWT代码段,其中显示了如何将气球工具提示添加到SWT Text实例。

下次请考虑更具体地询问,我现在不要,如果这是你在寻找什么..

 /* * Tooltip example snippet: create a balloon tooltip for a tray item * * For a list of all SWT example snippets see * http://www.eclipse.org/swt/snippets/ * * @since 3.2 */ import org.eclipse.swt.SWT; import org.eclipse.swt.events.FocusEvent; import org.eclipse.swt.events.FocusListener; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.ToolTip; public class TextFieldTooltip { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new RowLayout(SWT.VERTICAL)); final ToolTip tip = new ToolTip(shell, SWT.BALLOON); tip.setMessage("Here is a message for the user. When the message is too long it wraps. I should say something cool but nothing comes to my mind."); Text tfTooltip = new Text(shell, SWT.BORDER); tfTooltip.setText("sample text field"); tfTooltip.addFocusListener(new FocusListener() { @Override public void focusLost(FocusEvent e) { tip.setVisible(false); } @Override public void focusGained(FocusEvent e) { Text actionWidget = (Text) e.widget; Point loc = actionWidget.toDisplay(actionWidget.getLocation()); tip.setLocation(loc.x + actionWidget.getSize().x - actionWidget.getBorderWidth(), loc.y); tip.setVisible(true); } }); Text tfNext = new Text(shell, SWT.BORDER); tfNext.setText("TF without tooltip"); shell.setBounds(50, 50, 300, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } } 

对于标准os工具提示,请使用:

org.eclipse.swt.widgets.Control.setToolTipText(字符串)

例如,

  final Text textArea = new Text(shell, SWT.BORDER); textArea.setToolTipText("Standard tooltip \n for swt control."); 

这是Windows 7的外观:

在此处输入图像描述