У GWT есть виджет Paragraph?

Я нарисовал пробел. Есть ли у GWT виджет, создающий тег HTML P?

Я хочу, чтобы в DOM появился только тег P, без каких-либо посторонних DIV.

Ответы

Ответ 1

Если вам нужен виджет абзаца, который может содержать другие виджеты, вы можете использовать FlowPanel:

FlowPanel panel = new FlowPanel(ParagraphElement.TAG);
panel.add(otherWidget);

конструктор String-arg позволяет использовать любой тэг HTML, а поскольку FlowPanel extends ComplexPanel, вы можете добавить любые другие виджеты внутри него.

Ответ 2

В GWT нет такого виджета. Но вы можете легко создать его. У SimplePanel есть защищенный конструктор, который позволяет ему создавать панель с любым тегом HTML. Чтобы создать панель с тегом P, просто расширьте SimplePanel и создайте его со своим собственным конструктором:

  public class PPanel extends SimplePanel {
    public PPanel() {
      super(Document.get().createPElement());
    }
  }

Ответ 3

Вы пробовали HTMLPanel виджет?

Ответ 4

Не подрывать ответ Хилбренда Бувокпама, потому что там, где я получил мое, я думаю, что возможно более полезная версия этого - это тот, который берет строку в конструкторе. Hilbrand, если вы просто хотите добавить это в свой ответ, не стесняйтесь, и я удалю этот ответ.

public class PPanel extends SimplePanel {
    public PPanel() {
        super(Document.get().createPElement());
    }

    public PPanel(String string) {
        super(Document.get().createPElement());
        getElement().setInnerText(string);
    }
}

Таким образом, вместо вызова:

PPanel panel = new PPanel();
panel.getElement().setInnerText("Text Here");

Мы можем просто вызвать:

PPanel panel = new PPanel("Text Here");

Ответ 5

Теперь GWT имеет PreElement вместе со всеми другими элементами аналогичным образом.