2010-11-19 8 views

答えて

14

+1

あなたもMakkesのアンガーもOPに適切に答えません。私は彼が同じことをするためにクリックハンドラーをバインドすることができることを知っていると確信しています、私は彼がJSに依存しない方法を探していたと思います.. – SexyBeast

1

一般的な見地からは、イメージのonclickイベントとcss cursor:pointer(オプション)を使用して、ハイパーリンクの感触を与えることができます。あなたは、単にそれにClickHandlerを追加Imageクリッカブルを作るために

Hyperlink link = new Hyperlink(); 
Image image = new Image(someUrl); 
... 
link.getElement().appendChild(image.getElement()); 

を:あなたはHyperlinkImageを挿入するために何ができるか

2

ToggleButtonを作成し、CSSスタイルを適用することもできます。その後、すでにClickHandlerのサポートがすべて含まれています。

4

ただ、画像にはclickHandlerを添付:

Image img = new Image(URL); 
img.addClickHandler(new ClickHandler() { 
    @Override 
    public void onClick(ClickEvent ev) { 
    // do sth. 
    } 
}; 

それです。画像はクリック可能です。ユーザーにクリック可能性を示すには、cursor:pointerのような適切なCSSスタイルを使用します。

4
Hyperlink link = new Hyperlink(); 
Image image = new Image(someUrl); 
... 
link.getElement().getFirstChild().appendChild(image.getElement()); 

となります。そうでなければ画像はaddClickHandlerハイパーリンクで減価償却されるので、ハイパーリンクハイパーリンクの代わりに

+0

.getElement()。insertFirst(Element) – Chloe

3
Anchor anchor = new Anchor(); 
    anchor.getElement().getStyle().setCursor(Cursor.POINTER); 
    anchor.addClickHandler(new ClickHandler() { 
      @Override 
      public void onClick(ClickEvent ev) { 
       Window.Location.assign("http://url.com"); 
      } 
    }); 
    Image img = new Image("image/path.jpg"); 
    anchor.getElement().appendChild(img.getElement()); 

使用アンカーの後に追加されます。 2行目は、カーソルを置いたときにハンドポインタをカーソルに追加します。残りは私が思うように自明です。