2009-10-03 10 views

Odpowiedz

2

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.

2

Czy wypróbowałeś widżet HTMLPanel?

+0

Wierzę, że HTMLPanel renderuje element DIV, a nie element P. – David

+2

HTMLPanel ma konstruktora HTMLPanel (tag String, String html), więc może to być dowolny element –

16

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()); 
    } 
    } 
+0

Dzięki za odpowiedź Hilbrand. Tworząc PPanel również implementuję HasText, mam rozwiązanie, którego szukałem. – David

+0

Tak jak przy aktualizacji z bieżącym GWT, 'super' konstruktorem będzie teraz:' super (DOM.createElement ("p")); ' – checketts

+0

@checketts Właściwie używając klasy' DOM' jest stary GWT. –

2

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"); 
0

GWT ma teraz PreElement wraz ze wszystkimi innymi elementami w podobny sposób .