To fire the onclick event on a specified HTML element you can use the following way: HTMLElement div = (HTMLElement) browser.getDocument().getElementById("eventDiv"); div.fireEvent("onclick", new EventObjectFactory() { public EventObject create() { EventObject eventObject = new EventObject(); eventObject.setButton(2); eventObject.setClientX(15); eventObject.setClientY(15); return eventObject; } });The complete sample that shows how to fire the click event on a specified DIV element: package dom.event; import com.jniwrapper.win32.ie.Browser; import com.jniwrapper.win32.ie.WebBrowser; import com.jniwrapper.win32.ie.dom.EventObject; import com.jniwrapper.win32.ie.dom.EventObjectFactory; import com.jniwrapper.win32.ie.dom.HTMLElement; import javax.swing.*; import java.awt.*; /** * This sample shows how to fire the click event on a specified DIV element. */ public class FireEventSample { private static final String HTML_CONTENT = "<html><head><script>" + "function clickHandler(elem) { " + "alert('clicked on element: ' + elem.tagName + " + "', x = ' + event.clientX + " + "', y = ' + event.clientY + " + "', button = ' + event.button); }" + "</script></head><body>" + "<div id=\"eventDiv\" style='background: #cccccc; width:400; " + "height:300' onclick=\"clickHandler(this)\">" + "Click on the DIV element to display alert</div>" + "</body></html>"; public static void main(String[] args) { WebBrowser browser = new Browser(); JFrame frame = new JFrame("JExplorer: Fire Event Sample"); frame.getContentPane().add((Component) browser, BorderLayout.CENTER); frame.setSize(750, 500); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); browser.setContent(HTML_CONTENT); browser.waitReady(); HTMLElement div = (HTMLElement) browser.getDocument().getElementById("eventDiv"); div.fireEvent("onclick", new EventObjectFactory() { public EventObject create() { EventObject eventObject = new EventObject(); eventObject.setButton(2); eventObject.setClientX(15); eventObject.setClientY(15); return eventObject; } }); } } |
Examples >