знаете ли вы, есть ли какой-нибудь виджет уведомлений для GWT, как этот?
Виджет уведомлений GWT?
Ответы (1)
AFAIK нет такого виджета в ядре GWT, но почему бы не накатить свой собственный:
public class DelayedPopup extends PopupPanel {
public DelayedPopup(String text, boolean autoHide, boolean modal) {
super(autoHide, modal);
setWidget(new Label(text));
}
void show(int delayMilliseconds) {
show();
Timer t = new Timer() {
@Override
public void run() {
DelayedPopup.this.hide();
}
};
// Schedule the timer to close the popup in 3 seconds.
t.schedule(3000);
}
}
Это не в моей голове, поэтому он может не компилироваться, но вы поняли идею.
Обновление:
В соответствии с комментарием я добавляю уведомление, которое скрывается при движении мыши:
public class Notification extends PopupPanel {
public Notification(String text) {
super(false, false);
setWidget(new Label(text));
}
@Override
public void show() {
installCloseHandler();
super.show();
}
public native void installCloseHandler() /*-{
var tmp = this;
$wnd.onmousemove = function() {
// edit the com.google.gwt.sample.contacts.client package
// to match your own package name
[email protected]::hide()();
$wnd.onmousemove = null;
}
}-*/;
}
person
Peter Knego
schedule
17.05.2011
Я согласен с тем, что свернуть свой собственный должно быть легко. Стоит отметить, что ссылка на ссылку выше, похоже, не использует таймер для закрытия уведомления. Вместо этого он, кажется, слушает onMouseMove и сразу же запускает увольнение при перемещении мыши.
- person pohl; 18.05.2011
Ты прав. Обновленный пост с новой версией, которая скрывает уведомление о движении мыши.
- person Peter Knego; 18.05.2011