How to center popup/dialog-Fenster in GWT?
Ich habe eine Liste mit Datensätzen, jeder Datensatz verfügt über eine Schaltfläche, öffnet Einstellungen-Fenster. Auch ich habe Vorlieben mit einer Menge von logischen teilen und jeder Teil hat einige Datensätze mit einem button.
So, wenn ich auf einen button klicken, erscheint das Dialogfenster, aber wenn Sie diese Taste ist irgendwo in der Unterseite der Seite (lassen Sie es sein, die 300 Datensätze mit button), mein dialog-Fenster erscheint in der oberen. Als Ergebnis muss ich nach oben scrollen, um zu finden, und das Fenster erscheint manchmal hinter browser-Grenzen).
Oder einfach nur vorstellen, dass Sie etwas konfigurieren, und Blättern Seite nach unten, füllen Sie jede option, am Ende speichert Ihre Konfiguration, aber einige Felder wurden falsch ausgefüllt und Warnung popup-Fenster erscheint... irgendwo auf der Seite, aber nicht in der Nähe Ihres Zeiger-oder auch nicht in der Mitte der aktuellen Seite.
Alle meine dialog-Fenster werden geerbt von DialogBox, so dass ich mit super.show() und super.center(), aber es funktioniert nicht wie ich es will.
Kleine info dazu: einige dialog-Fenster Daten empfangen vom server und wenn alle Daten empfangen wird der rest der Fenster wird angezeigt. Ich vermute, dass dies verursachen kann, manchmal-Fenster erscheinen in einem falschen Ort.
InformationsquelleAutor Dragon | 2013-01-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie richtig, Bearbeiten Sie den Inhalt des Dialogfelds, nachdem es zentriert ist, wird die Ursache angezeigt werden uncentered. Um dieses Problem zu lösen, rief ich, center, nachdem der Inhalt geladen ist. Sie können display ein Ladesymbol oder etwas in der Zwischenzeit.
In einigen Fällen, die Größe des widget, das Sie Hinzugefügt kann nicht sofort berechnet. Leider ist der beste Weg, den ich gefunden damit umzugehen, war, fügen Sie das widget und dann laufen
(ungeprüften code)
Diese endete als so Häufig, dass ich eine Methode namens
scheduleCenter
auf meine Dialog-Klasse.Können Sie auch call-center-mehr als einmal - jeder Zeit wieder laufen die Zentrierung Berechnungen. Dies bewirkt, dass ein wenig Ruckeln. Wenn Sie nicht wollen, dass jeder zappelnden herum, dann haben Sie, um die Größe des inneren widget explizit:
Sie auch nennen könnte, myWidgetWhichWillLoadDataLater.setHeight("300px"), etc.
InformationsquelleAutor Riley Lark
setWidgetBottomHeight () - Methode, um die position genau.
DialogBox
auf ein panel, es sei denn, Sie wirklich wissen, was Sie tun. In 99,999% der Fälle, es ist ein Fehler. Auch, Sie brauchen nicht zu rufenshow()
wenn Sie anrufencenter()
.Fehler, die Sie bitte Bearbeiten Sie diese aus.
Hm, wenn ich call-center-vor der show, wird kein Dialogfeld angezeigt. Ich glaube, ich habe mit zu spielen zeigen und in der Mitte, hm.
überprüfen Sie heraus meine bearbeitete Antwort...
Ich werde es versuchen. Aber ich habe eine Frage, vorher, sollte diese ordnungsgemäß für den Fall, wenn Daten empfangen vom server und der rest der dialog-Fenster aufgebaut ist, nach diesen Daten?
InformationsquelleAutor Dipak
dort gehen Sie 🙂
Der code ist selbsterklärend.
Ihren Kommentar nicht erklären-box.center(), und der code nicht kompilieren.
InformationsquelleAutor Abhijith Nagaraja