gpt4 book ai didi

java - 当新设置时如何重新加载SWT项目?

转载 作者:行者123 更新时间:2023-12-01 14:30:57 32 4
gpt4 key购买 nike

我正在尝试显示动态toolTipText。我的代码如下:

...
public TrayItem item;
...

public static void main(String args[]) {
....
....
TrayItem item = new TrayItem(tray, SWT.NONE);
item.setToolTipText("My string");
...
...
}

这段代码运行成功。但是,如果我在另一个函数中设置新字符串,如下所示,则 上没有变化:

mainWindow.item.setToolTipText("My string -- " + getStatus().getMessage());

重新设置时如何重新加载 SWT 项目?

最佳答案

您必须从创建 TrayItem 的线程中调用 setToolTipText()。

来自 Eclipse API 文档:

public void setToolTipText(String string)
Throws:
...
SWTException -
...
ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

将调用转发到用户界面线程的一种方法是使用 Display.asyncExec( Runnable )。例如:

    Display.getDefault().asyncExec(new Runnable() {
public void run() {
mainWindow.item.setToolTipText( "My string -- " + getStatus().getMessage() );
}});

关于java - 当新设置时如何重新加载SWT项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16860763/

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