Подсказка над сообщением при перемещении мыши - PullRequest
0 голосов
/ 12 января 2011

Я пытаюсь показать всплывающее окно при наведении мыши на изображение.Можете ли вы помочь?

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);
}

Ответы [ 4 ]

5 голосов
/ 12 января 2011

setTitle(String) отображает всплывающий текст поверх любого UIObject, включая Image с.Это встроено в браузер, допускается только текст.

2 голосов
/ 12 января 2011
    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

0 голосов
/ 13 января 2011
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();
    }
}
0 голосов
/ 12 января 2011

Если вы используете свинг, который не похож на вас (так почему я отвечаю?), То все JComponents неявно поддерживают подсказки с помощью таких методов, как;

setToolTipText(String text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...