2009-12-20 1 views
2

Я ищу подобный воздушному шару виджет для приложения GWT, например. подобно тем, которые отображаются в Google Maps при отображении результатов поиска на карте.Воздушный шар-виджет для GWT

При поиске Я только нашел виджеты Javascript, но нет ли каких-либо виджетов для использования в GWT?

ответ

3

Посмотрите на OverLib. Это javascript lib с открытым исходным кодом, чтобы показать расширенные всплывающие подсказки. Его можно легко интегрировать в GWT. Кроме того, у вас есть свобода создавать собственные HTML-всплывающие окна.

Вот фрагмент моего вспомогательного кода lib (overlib должен быть распакован в общую папку вашего проекта GWT). Атрибутов, полученные с getSimpleToolTip просто добавляется к вашим элементам GWT:

public static String getSimpleToolTip(String text, Integer width, Integer height) 
{ 
    String alt = "onmouseout=\"" + getOnMouseOutAttribute() + "\""; 
    alt = alt + " onmouseover=\"" + getOnMouseOverAttribute(text, width, height) + "\""; 
    return alt; 
} 

public static String getOnMouseOutAttribute() 
{ 
    return "return nd();"; 
} 

public static String getOnMouseOverAttribute(String text, Integer width, Integer height) 
{ 
    String out = "return overlib('" + text + "'"; 
    out = out + ", DELAY, 750"; 

    if (width != null) 
    { 
    out = out + ", WIDTH, " + width.toString(); 
    } 

    if (height != null) 
    { 
    out = out + ", HEIGHT, " + height.toString(); 
    } 

    out = out + ");"; 

    return out; 
} 
2

В GWT создайте свой собственный виджет с помощью всплывающей панели. У вас есть изображения, похожие на baloon (фоновый рисунок должен быть прозрачным) и установите его в качестве фона всплывающей панели. После этого в зависимости от вашего требования добавьте свои результаты как «A», , "B" и т. Д. - как ярлык на всплывающей панели.

+0

Ну, кажется, что это не так просто: хвост должен указывать шар до определенного виджета. Если я использую фиксированное фоновое изображение, это не всегда так, поскольку PopupPanel.showRelativeTo() динамически позиционирует панель: «В зависимости от ширины и высоты всплывающего окна и расстояния от цели до нижнего и правого краев окна, всплывающее окно может отображаться непосредственно над объектом, и/или его правый край может быть выровнен с правым краем цели ». (Источник: http://google-web-toolkit.googlecode.com/svn/javadoc/2.0/com/google/gwt/user/client/ui/PopupPanel.html) – Bob

+0

Ну, это сводится к использованию таблицы 3x3 с набором из 8 фоновых изображений. Затем вы накладываете в нужную позицию изображение рамки с изображением стрелки ...... просто, но довольно много работы. – user1050755