我想單擊一個圖像,因此想要註冊(例如)一個ClickHandler。我從ClientResource獲得的圖像。這工作到目前爲止將圖像設置爲一個表單元格:如何將GWT點擊監聽器添加到圖像?
MyResources.INSTANCE.css().ensureInjected();
Image colorImage = new Image(MyResources.INSTANCE.colorImage());
Element colorImageElement = colorImage.getElement();
colorImage.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
System.out.println(event);
}
});
TableElement table = Document.get().createTableElement();
TableRowElement headRow = table.insertRow(-1);
headRow.insertCell(-1).appendChild(colorImageElement);
RootPanel.get().getElement().appendChild(table);
如何添加一個監聽器的圖標?我試過ClickHandler並將圖像放在PushButton上,並從此PushButton中獲取元素,但都不起作用。
但是,如果我將小部件(圖像是一個小工具)添加到它的工作面板!
RootPanel.get().add(colorImage);
但我沒有在這裏使用小部件,但與元素。所以處理程序消失,這就是我不知道如何保留這個添加的處理程序信息。
最後,我想建立一個不同行的表,我可以點擊圖標,我得到一個彈出菜單,從而改變行的顏色。
我以前試過,但這不起作用。我嘗試了不同的處理程序,FocusWidget,...沒有反應。 – Paulus 2009-12-30 17:52:50
@Paulus:在我目前正在進行的一個項目中,我正是這樣做的,但是使用MouseDownHandler(addMouseDownHandler)並且效果很好,單擊處理程序應該同樣好。請在實際嘗試的地方張貼更多的代碼,但是會失敗。也許這只是一個愚蠢的錯字或什麼。 – Fredrik 2009-12-30 18:25:26
感謝您的幫助。我用適合onModuleLoad()的演示更新了我的問題,該演示顯示此解決方案不起作用。 – Paulus 2009-12-31 02:22:59