我是GWT和網絡新手。popuppanel在小部件下面顯示
我想使用彈出/對話工作了我自己的項目。彈出窗口和對話框始終顯示在小部件後面。我一直在搜索,最相關的我發現是這 http://groups.google.com/group/gwt-google-apis/browse_thread/thread/40db4fcbe10d2060它不提供任何答案。無論如何,我有第三方庫,bst-player 1.3,它使用flash。所以我禁用了它(後來刪除它),彈出窗口不會到達頂部!它仍然隱藏在小部件後面。
我瞭解到popuppanel/dialogpanel有do not need to get added to another widget。一種不同的說法是,它不是一個常規的小部件,它不能附加到父項,但它將自己附加到dom上以保證處於頂端(從GWT composite widget)
我在我的智慧結束和我在這裏以SO ...
UPDATE
這裏是我的彈出類
public class PopUp {
static PopupPanel simplePopup;
public static void init() {
simplePopup = new PopupPanel(true);
simplePopup.hide();
simplePopup.setVisible(false);
// DOM.setIntStyleAttribute(simplePopup.getElement(), "zIndex", 3);
}
public static void showpopupmsg(String msg, int left, int top) {
if (simplePopup == null) {
init();
}
if (msg != null && !msg.equalsIgnoreCase("")) {
simplePopup.ensureDebugId("cwBasicPopup-simplePopup");
simplePopup.setWidget(new HTML(msg));
simplePopup.setVisible(true);
simplePopup.setPopupPosition(left, top);
simplePopup.setWidth("475px"); //575
simplePopup.setGlassEnabled(true);
simplePopup.show();
}
}
public static void show(String message){
if (simplePopup == null) {
init();
}
simplePopup.setGlassEnabled(true);
simplePopup.setTitle(message);
simplePopup.center();
}
}
這裏是我如何打電話
tasksTable.doneColumn.setFieldUpdater(new FieldUpdater<TaskProxy, Boolean>() {
public void update(int index, TaskProxy task, Boolean value) {
String msg = "Here is the popup. All the way underneath";
Widget source = tasksTable;
int left = source.getAbsoluteLeft() - 50;
// source.getAbsoluteLeft() + 25;
int top = source.getAbsoluteTop() - 25;
PopUp.showpopupmsg(msg, left, top); //Here is the calling method
TaskRequest request = requestFactory.taskRequest();
TaskProxy updatedTask = request.edit(task);
updatedTask.setDone(value);
request.updateTask(updatedTask).fire();
}
});
以下是彈出窗口如何在下的小部件。
如果你要downvote或關閉,請解釋原因。 – 2012-04-09 15:39:55
可能是因爲您應該顯示導致問題的代碼,而不僅僅是關於項目的一些常規信息。 – Strelok 2012-04-10 01:14:04
我已經在code.google.com中包含了項目,這是我的項目所依據的,並且沒有太大的偏差。 – 2012-04-10 01:25:54