Narysowałem pustą. Czy GWT ma widżet, który tworzy tag HTML P?Czy GWT ma widżet Akapit?
Chcę tylko tag P pojawiać się w DOM, bez żadnych obcych DIV.
Narysowałem pustą. Czy GWT ma widżet, który tworzy tag HTML P?Czy GWT ma widżet Akapit?
Chcę tylko tag P pojawiać się w DOM, bez żadnych obcych DIV.
Jeśli potrzebujesz widget ustępu, które mogą zawierać inne widżety, można użyć FlowPanel
:
FlowPanel panel = new FlowPanel(ParagraphElement.TAG);
panel.add(otherWidget);
String-arg constructor pozwala na użycie dowolnego tagu HTML, a od FlowPanel
rozciąga ComplexPanel
można dołączyć dowolny inny widżety w środku.
Czy wypróbowałeś widżet HTMLPanel?
GWT nie ma takiego widżetu. Ale możesz łatwo go stworzyć. SimplePanel ma chroniony konstruktor, który pozwala mu utworzyć panel z dowolnym znacznikiem HTML. Aby utworzyć panel z tagiem P, po prostu przedłużyć SimplePanel i tworzyć je z własnego konstruktora:
public class PPanel extends SimplePanel {
public PPanel() {
super(Document.get().createPElement());
}
}
Dzięki za odpowiedź Hilbrand. Tworząc PPanel również implementuję HasText, mam rozwiązanie, którego szukałem. – David
Tak jak przy aktualizacji z bieżącym GWT, 'super' konstruktorem będzie teraz:' super (DOM.createElement ("p")); ' – checketts
@checketts Właściwie używając klasy' DOM' jest stary GWT. –
aby nie osłabiać odpowiedź Hilbrand Bouwkamp, ponieważ to tam właśnie pochodzi kopalnię od, myślę, że być może bardziej użyteczną wersję jest to taki, który pobiera ciąg znaków w konstruktorze. Hilbrand, jeśli chcesz tylko dodać to do swojej odpowiedzi, nie krępuj się, a ja usunę tę odpowiedź.
public class PPanel extends SimplePanel {
public PPanel() {
super(Document.get().createPElement());
}
public PPanel(String string) {
super(Document.get().createPElement());
getElement().setInnerText(string);
}
}
W ten sposób, zamiast zadzwonić:
PPanel panel = new PPanel();
panel.getElement().setInnerText("Text Here");
Możemy po prostu zadzwonić:
PPanel panel = new PPanel("Text Here");
GWT ma teraz PreElement wraz ze wszystkimi innymi elementami w podobny sposób .
Wierzę, że HTMLPanel renderuje element DIV, a nie element P. – David
HTMLPanel ma konstruktora HTMLPanel (tag String, String html), więc może to być dowolny element –