如何在SWT中为文本框创建气球工具提示?
这是修改后的SWT代码段,显示了如何将气球工具提示添加到SWT Text实例。
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(); } }