私はvaadinが初めてです。私は1つのリンクを持っています
リンク link = new Link("", new ExternalResource(redirectURL));
私の要件は、ユーザーがリンクをクリックしたときに値を設定する必要があることです。ユーザーがリンクをクリックしたときにリスナーを追加できますか? または、リンクがクリックされた場合に値を設定する別の方法があります。
私はvaadinが初めてです。私は1つのリンクを持っています
リンク link = new Link("", new ExternalResource(redirectURL));
私の要件は、ユーザーがリンクをクリックしたときに値を設定する必要があることです。ユーザーがリンクをクリックしたときにリスナーを追加できますか? または、リンクがクリックされた場合に値を設定する別の方法があります。
あなたの質問は、リンクのキャプションを変更するものだと解釈しました。私の知る限り、それはおそらく Link コンポーネントではありません。Activelink アドオンを見てみましょう: http://vaadin.com/addon/activelink .
このアドオンはリンクのように動作し、追加できますLinkActivatedListener
。コードは次のようになります。
final ActiveLink link = new ActiveLink("", new ExternalResource(redirectURL));
link.addListener(new LinkActivatedListener() {
@Override
public void linkActivated(LinkActivatedEvent event) {
link.setCaption("newCaption");
}
});
新しいBrowserWindowOpenerクラスを使用できます。
API から:
拡張コンポーネントがクリックされたときにブラウザのポップアップ ウィンドウを開くコンポーネント拡張。
例:
BrowserWindowOpener browserWindowOpener = new BrowserWindowOpener(new ExternalResource("http://google.com"));
/*
* Apparently, the BrowserWindowOpener method setWindowName uses the HTML5 target
* attribute (no longer deprecated as it was in HTML4).
* So you can use either a frame name, or one of four special attribute values:
* _blank, _self, _parent, _top
*
* browserWindowOpener.setWindowName();
*/
final Button btn = new Button("Click me");
browserWindowOpener.extend(btn);
btn.addClickListener(new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
btn.setCaption("clicked");
}
});
詳細はこちら。