gpt4 book ai didi

java - 我怎样才能在我的自定义工具提示中得到一个气球?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:52:39 25 4
gpt4 key购买 nike

我正在创建一个自定义工具提示,其中有一个文本框。我能够做到这一点,但我无法像所附图片中那样获得像气球一样的图标。任何人都可以帮助我解决这个问题。

我的工具提示类:

public class MyToolTip extends ToolTip {
private Shell parentShell;

public MyToolTip(Control control) {
super(control,SWT.BALLOON,false);
this.parentShell = control.getShell();
}


@Override
protected Composite createToolTipContentArea(Event event, Composite parent) {
// TODO Auto-generated method stub
Composite comp = new Composite(parent,SWT.NONE);
comp.setLayout(new FillLayout());

Text text = new Text(comp,SWT.BORDER);
text.setText("");

return comp;
}
}

类使用工具提示:

public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new RowLayout(SWT.VERTICAL));
Text text = new Text(shell, SWT.BORDER);
text.setText("sample text field");

MyToolTip myTooltipLabel = new MyToolTip(text);
myTooltipLabel.setShift(new Point(-5, -5));
myTooltipLabel.setHideOnMouseDown(false);
myTooltipLabel.activate();

myTooltipLabel.setRespectDisplayBounds(false);

myTooltipLabel.setRespectMonitorBounds(false);

Balloon image

最佳答案

问题是,您正在使用 org.eclipse.jface.window.ToolTip 而用于创建该屏幕截图的代码使用 org.eclipse.swt.widgets.ToolTip

通过将 SWT.BALLOON 作为样式位,SWT 工具提示可以具有气球外观。

JFace 工具提示不支持 SWT.BALLOON,仅支持 ToolTip.NO_RECREATEToolTip.RECREATE

所以这里是结论:您不能子类化 swt 工具提示以使其可编辑。您无法使 JFace 工具提示看起来像您希望的那样。剩下的唯一解决方案是基于 CompositeCanvas 创建您自己的 Widget 来执行您想要的操作。

关于java - 我怎样才能在我的自定义工具提示中得到一个气球?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16097797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com