Note: Advice in this article will only work for JxBrowser 6. See the corresponding article for JxBrowser 7 here.(注意:本文中的建议仅适用于JxBrowser6,JxBrowser7相应文章请点击这里。)
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.dom.By;
import com.teamdev.jxbrowser.chromium.dom.DOMDocument;
import com.teamdev.jxbrowser.chromium.dom.DOMElement;
import com.teamdev.jxbrowser.chromium.dom.DOMInputElement;
import com.teamdev.jxbrowser.chromium.events.FinishLoadingEvent;
import com.teamdev.jxbrowser.chromium.events.LoadAdapter;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
import javax.swing.*;
import java.awt.*;
/**
* The sample demonstrates how to fill HTML Form fields using JxBrowser DOM API.
*/
public class DOMFormSample {
public static void main(String[] args) {
Browser browser = new Browser();
BrowserView browserView = new BrowserView(browser);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.getContentPane().add(browserView, BorderLayout.CENTER);
frame.setSize(800, 600);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
browser.addLoadListener(new LoadAdapter() {
@Override
public void onFinishLoadingFrame(FinishLoadingEvent event) {
if (event.isMainFrame()) {
Browser browser = event.getBrowser();
DOMDocument document = browser.getDocument();
DOMElement firstName = document.findElement(By.name("firstName"));
DOMInputElement name = (DOMInputElement) firstName;
name.setValue("John");
DOMElement lastName = document.findElement(By.name("lastName"));
DOMInputElement surname = (DOMInputElement) lastName;
surname.setValue("Doe");
}
}
});
browser.loadHTML("<html><body><form name=\"myForm\">" +
"First name: <input type=\"text\" name=\"firstName\"/><br/>" +
"Last name: <input type=\"text\" name=\"lastName\"/><br/>" +
"<input type=\"button\" value=\"Save\"/>" +
"</form></body></html>");
}
}