Есть ли у GWT виджет Paragraph? - PullRequest
       41

Есть ли у GWT виджет Paragraph?

15 голосов
/ 03 октября 2009

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

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

Ответы [ 5 ]

16 голосов
/ 03 октября 2009

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

  public class PPanel extends SimplePanel {
    public PPanel() {
      super(Document.get().createPElement());
    }
  }
3 голосов
/ 07 декабря 2014

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

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

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

2 голосов
/ 02 мая 2014

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

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");
2 голосов
/ 03 октября 2009

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

0 голосов
/ 04 июля 2014

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...