2011-01-12 52 views
0

我试图在将鼠标移到图像上时显示弹出框。你能帮忙吗?移动鼠标时的工具提示消息

public shopWidget extends Composite implements ClickListener { 
    Image phoneImage = new Image(); 
    Image serviceImage = new Image(); 
    FlexTable flTable = new FlexTable(); 
    flTable.setWidget(0, 0, this.rewardsLabel); 
    flTable.setWidget(1, 0, this.serviceImage); 
    this.initWidget(flTable); 
} 
+3

什么操作系统,图形用户界面,编程语言,平台,环境等?请至少标记适当的。 – 2011-01-12 11:03:18

回答

0

如果你使用的摆动,它看起来并不像你,(所以为什么我回答?),那么所有JComponent上含蓄地支持与方法,如工具提示;

setToolTipText(String text) 
2
Image phoneImage = new Image(); 
    phoneImage.addMouseOverHandler(new MouseOverHandler() { 

     @Override 
     public void onMouseOver(MouseOverEvent event) { 
      PopupPanel p = new PopupPanel(true); 
      Widget source = (Widget) event.getSource(); 
      int x = source.getAbsoluteLeft() + 10; 
      int y = source.getAbsoluteTop() + 10; 

      p.add(new Label("hi from tooltip")); // you can add any widget here 
      p.setPopupPosition(x, y); 
      p.show(); 

     } 
    }); 

这里是GWT简单popup

+0

是否支持,如果我必须表现出如使用GWT没有波动 – user572598 2011-01-12 11:58:18

+0

? – user572598 2011-01-12 11:59:12

5

setTitle(String)显示弹出文本在任何UIObject,包括Image秒。这是浏览器原生的,只允许使用文本。

0
final PopupPanel pop = new PopupPanel(false, false); 
pop.setWidget(new Label("popup")); 
Image image = new CustomTooltipImage(pop); 
image.setUrl("http://sstatic.net/stackoverflow/img/venn-diagram.png"); 

这是自定义提示图像类:

public class CustomTooltipImage extends Image implements MouseOverHandler, MouseMoveHandler, MouseOutHandler 
{ 
    private final PopupPanel tooltip; 

    public CustomTooltipImage(PopupPanel tooltip) 
    { 
     super(); 
     this.tooltip = tooltip; 
     addMouseOverHandler(this); 
     addMouseOutHandler(this); 
     addMouseMoveHandler(this); 
    } 

    @Override 
    public void onMouseOut(MouseOutEvent event) 
    { 
     tooltip.hide(); 
    } 

    @Override 
    public void onMouseMove(MouseMoveEvent event) 
    { 
     tooltip.setPopupPosition(event.getClientX(), event.getClientY()); 
    } 

    @Override 
    public void onMouseOver(MouseOverEvent event) 
    { 
     tooltip.setPopupPosition(event.getClientX(), event.getClientY()); 
     tooltip.show(); 
    } 
} 
相关问题