标准小部件工具包 - 工具提示

时间:2014-03-15 07:32:17

标签: java swt

我正在思考这个,

我在标签上设置了swt工具提示。将调用tooltip方法setTooltip(message)将从另一个类调用,setMessage(message)将在将创建tooltip对象的类中设置。现在我在设置工具提示消息之前检查null或空条件否则会抛出IllegalArgumentException。所以我的代码是这样的

public void setTooltip(String message) {
if (message != null && !message.isEmpty()) {
tooltip.setMessage(message);
label.addMouseTrackListener(mouseTrackListener);
iconLabel.addMouseTrackListener(mouseTrackListener);
} else {
label.removeMouseTrackListener(mouseTrackListener);
iconLabel.removeMouseTrackListener(mouseTrackListener);
}
}

我需要在else条件中使用一个选项,因为如果传递null并且工具提示尚未与侦听器关联,则控件将移至removeListener行eben。

我不知道控制流是如何发生的。有人可以详细说明这一点。 我会在else条件下明确地将工具提示设置为空字符串,因此在工具提示中没有设置某个先前值的机会,例如

else {
tooltip.setMessage("");
label.removeMouseTrackListener(mouseTrackListener);
iconLabel.removeMouseTrackListener(mouseTrackListener);
}

这样,如果需要,调用者可以将null / empty传递给此方法以删除工具提示。这可能吗?如果是这样,上述其他条件如何工作以及控制如何流动?我应该有一个我不想删除的其他条件,但我需要知道如何实现这一点。

0 个答案:

没有答案