Открыть URL-адрес внутри сетки в новом окне браузера - PullRequest
0 голосов
/ 29 апреля 2011

У меня есть список URL-адресов в сетке, и мне нужно, чтобы при щелчке пользователем по URL-адресу открывались новые окна браузера с таким же URL-адресом

Я читаю некоторые темы, но в моем случае я считаю, что моя ситуация немного отличается. В моем контроллере Я использую следующий код

UrlListCollection.generateListUrl();

dataGrid.setRowRenderer(new RowRenderer() { 
    public void render(Row row, Object data) throws Exception {
        UrlObj url = (UrlObj) data;
            row.getChildren().add(new Label("Some data"));          
            row.getChildren().add(new Toolbarbutton(url.getUrlApp()));   //  url.getUrlApp() will be return a link like  http://www.google.com
        }
    });

На мой взгляд (зул) у меня есть

<grid id="dataGrid" width="100%">
    <columns>
        <column label="Some Data" sort="auto(FIELD_NAME)" width="200px" />
        <column label="URL LINK" sort="auto(URL)" width="630px" />
    </columns>
</grid> 

Но общий способ установить событие для компонента в Java может быть:

Toolbarbutton button = new Toolbarbutton(url.getUrlApp()));
  button.addEventListener(Events.ON_CLICK, new EventListener() {
      public void onEvent(evt) {

          // what I put here to open a Link in another web browser window  ????
      // and I need to be able to open every object value retrieved by url.getUrlApp()   ???
      }
  });

Теперь я не знаю, что нужно для того, чтобы мой код работал. Для меня способ применения кнопки «Событие к панели инструментов» внутри сетки, использующей метод RowRenderer, странный. Я не могу найти решение самостоятельно.

Ответы [ 2 ]

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

Вы можете использовать следующий пример,

Executions.getCurrent().sendRedirect("http://www.google.com", "_blank");

Или вы можете использовать компонент A с методом setHref() вместо компонента Toolbarbutton.

0 голосов
/ 03 мая 2011

Это прекрасно работает для меня, спасибо!

  UrlObj url = (UrlObj) data;

  Toolbarbutton tb = new Toolbarbutton(url.getUrlApp());
  tb.setHref(url.getUrlApp());
  tb.setTarget("_blank");

  row.getChildren().add(new Label("Some data"));
  row.getChildren().add(tb);
...