更新时间:2023-11-23 22:30:10
一个TreeItem可以包含一个Widget对象。因此,在一个小部件(即标签)上添加一个MouseOverHandler和一个MouseOutHandler,并将该小部件放入TreeItem中添加:
标签myItemContent =新标签(我的内容);
myItemContent.addMouseOverHandler(new MouseOverHandler(){
$ b $ public void onMouseOver(MouseOverEvent event){
//构造和/或打开您的工具提示
}
});
myItemContent.addMouseOutHandler(new MouseOutHandler(){
public void onMouseOut(MouseOutEvent event){
//关闭您的工具提示
}
});
//将您的Label放入TreeItem中
TreeItem myItem = new TreeItem(myItemContent);
//假设parentNode是一个ItemTree
parentNode.addItem(myItem);
另一个解决方案是使用GwtQuery。 GwtQuery允许将事件处理程序绑定到任何DOM元素:
import static com.google.gwt.query.client.GQuery。$ ;
...
TreeItem myItem = new TreeItem(My content);
$(myItem.getElement())。hover(new Function(){
//在鼠标上调用的方法超过
public void f(Element e){
//构造和/或打开你的工具提示
}
},new Function(){
//在鼠标上调用的方法
public void f(Element e){
//关闭您的工具提示
}
});
parentNode.addItem(myItem);
Julien
I'm trying to add tooltips for the nodes of a Tree in GWT. As such, I'd like to add a mouseover listener for the nodes of a tree rather than on the tree itself.
The Treelistener interface seems to be what I want but this is now deprecated in lieu of the handler system. I don't quite understand how to get mouseover behaviour on the cell as I only seem to be able to add a MouseOverHandler to the tree itself.
Any help would be appreciated, thank you.
A TreeItem can contains a Widget object. So add a MouseOverHandler and a MouseOutHandler on a widget (i.e. a Label) and put the widget inside the TreeItem to add :
Label myItemContent = new Label("My content");
myItemContent.addMouseOverHandler(new MouseOverHandler() {
public void onMouseOver(MouseOverEvent event) {
// construct and/or open your tooltip
}
});
myItemContent.addMouseOutHandler(new MouseOutHandler() {
public void onMouseOut(MouseOutEvent event) {
// close your tooltip
}
});
//put your Label inside a TreeItem
TreeItem myItem = new TreeItem(myItemContent);
// let's assume that parentNode is an ItemTree
parentNode.addItem(myItem);
An other solution can be to use GwtQuery. GwtQuery allows to bind event handler to any DOM element :
import static com.google.gwt.query.client.GQuery.$;
...
TreeItem myItem = new TreeItem("My content");
$(myItem.getElement()).hover(new Function() {
//method called on mouse over
public void f(Element e) {
// construct and/or open your tooltip
}
}, new Function() {
//method called on mouse out
public void f(Element e) {
//close your tooltip
}
});
parentNode.addItem(myItem);
Julien