2011-01-12 49 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(); 
    } 
} 
相關問題