XULRunner with Java: JavaXPCOM Tutorial 5
7.3 µã»÷ElementºÍÌîд±íµ¥
ÎÒÃÇ¿ÉÒÔ°²È«µÄ¼ÓÔØÒ³Ãæ£¬³éÈ¡ÐÅÏ¢£¬µ«ÊÇÓÐʱä¯ÀÀÍøÒ³ÊÇÐèÒªÌîд±íµ¥²¢Ìá½»»òÕßµã»÷ij¸öÔªËØÀ´´¥·¢onclickÒÔ±ãÖ´ÐÐÒ»¶Î
JavaScript´úÂë¡£
àÅ£¬ÒªÏëµã»÷Ò»¸öelementÐèÒª»ñµÃÕâ¸öelement(Ç°ÃæµÄxpathNodesÒ²Ðí¿ÉÒÔ°ïÎÒÃÇ×öµ½Õâµã)£¬Èç¹ûÊÇinput element£¬ÎÒÃÇÐè
Òªµ÷ÓÃËüµÄsubmit·½·¨£¬Èç¹ûÊÇanchorµÄ»°£¬ÎÒÃǼÒÐèÒª·ÃÎÊËüµÄhrefÀïµÄurl¡£Èç¹ûÕâ¸öÔªËØÓÐonclickÊôÐÔ£¬Õâ¶Î½Å±¾±ØÐèÊ×Ïȱ»
Ö´ÐС£
Ìîдtext field£¬ÐèÒªÐÞ¸ÄDOM tree£¬ÉèÖÃÊôÐÔµÄÖµ(±ÈÈçHTMLInputElement)»òÕß²åÈëÒ»¸öÎı¾×Ó½Úµã(±ÈÈç
HTMLTextAreaElement)¡£¿´¿´ÏÂÃæµÄÀý×ӾͻᷢÏÖÕâ²¢²»À§ÄÑ¡£
Òë×¢£ºÖ÷ÒªÓÐ2¸ö·½·¨ enter ºÍ click¡£
enter¸øtextºÍtextAreaÉèÖÃÖµ£¬textÖ±½ÓÉèÖÃvalueÊôÐÔ¾ÍÐÐÁË£¬¶øtextAreaÏÈҪɾ³ýËùÓÐ×ӽڵ㣬ȻºóÔö¼ÓÒ»¸öеÄtext
nodeÀ´°üº¬ÎÒÃÇÏëÒªÊäÈëµÄÄÚÈÝ¡£
clickµã»÷Ò»¸öÔªËØ£¬±ÈÈçelement, anchor submit°´Å¥µÈµÈ¡£
package es.ladyr.javaxpcom.browser;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTError;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.browser.ProgressEvent;
import org.eclipse.swt.browser.ProgressListener;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.mozilla.dom.html.HTMLDocumentImpl;
import org.mozilla.dom.NodeFactory;
import org.mozilla.interfaces.nsIComponentManager;
import org.mozilla.interfaces.nsIDOMDocument;
import org.mozilla.interfaces.nsIDOMHTMLDocument;
import org.mozilla.interfaces.nsIDOMNode;
import org.mozilla.interfaces.nsIDOMWindow;
import org.mozilla.interfaces.nsIDOMXPathEvaluator;
import org.mozilla.interfaces.nsIDOMXPathNSResolver;
import org.mozilla.interfaces.nsIDOMXPathResult;
import org.mozilla.interfaces.nsISupports;
import org.mozilla.interfaces.nsIWebBrowser;
import org.mozilla.xpcom.Mozilla;
import org.w3c.dom.DOMException;
im
Ïà¹ØÎĵµ£º
Èç¹ûÄãÔø¾ÓùýPerl»òÈÎºÎÆäËûÄÚ½¨ÕýÔò±í´ïʽ֧³ÖµÄÓïÑÔ£¬ÄãÒ»¶¨ÖªµÀÓÃÕýÔò±í´ïʽ´¦ÀíÎı¾ºÍÆ¥ÅäģʽÊǶàô¼òµ¥¡£Èç¹ûÄã²»ÊìϤÕâ¸öÊõÓÄÇô“ÕýÔò±í´ïʽ”£¨Regular Expression£©¾ÍÊÇÒ»¸ö×Ö·û¹¹³ÉµÄ´®£¬Ëü¶¨ÒåÁËÒ»¸öÓÃÀ´ËÑË÷Æ¥Åä×Ö·û´®µÄģʽ¡£
Ðí¶àÓïÑÔ£¬°üÀ¨Perl¡¢PHP¡¢Python¡¢JavaScriptºÍJScript£¬¶¼Ö§ ......
µÚ1Õ JavaÓïÑÔ¸ÅÊö
1.1 ֪ʶ¸ÅÀ¨
1.2 ʵÑéÁ·Ï°
1.2.1 Ò»¸ö¼òµ¥µÄÓ¦ÓóÌÐò
classÀï²»ÄÜÔÙÓÐclass£¬ÎÞÂÛÓÐûÓÐpublicÐÞÊΣ¬class¶¼ÊÇÆ½ÐйØÏµ£¬ÔÚbinÎļþ¼ÐÖлá²úÉú¸÷×ÔµÄ×Ö½ÚÂëÎļþ¡£Í¬Ò»¸ö.javaÔ´ÎļþÖÐÖÁ¶àÓÐÒ»¸öpublic class£¬Èç¹û²»ÏëÔÙÒ»¸öÔ´ÎļþÖÐд¶à¸öÀ࣬¾Í¸÷×ÔдԴ³ÌÐò£¬²¢°ÑÀ๫Ó㬼´ÓÃpublicÐÞÊΡ£
1.2.2 ......
½ñÌìÅöµ½ÁËÒ»¸öºÜ±ä̬µÄÎÊÌ⣬дÁËÒ»¸öºÜ¼òµ¥µÄHelloWord.java£¬ÄÚÈÝÈçÏ£º
package com.yanjiuyanjiu;
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
ÔÚeclips ......
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
im ......
4 ÔÚjava´úÂëÀïǶÈëFirefox3
ÏÖÔÚ¿ÉÒÔÈ¥ÓÃÒ»ÏÂÓÐÓõÄÀý×ÓÁË¡£Ê×ÏÈÎÒÃÇÔÚÒ»¸öjava³ÌÐòÀïʹÓÃSWTÀ´Ç¶ÈëÒ»¸öMozillaä¯ÀÀÆ÷¡£ÏÖÔÚ£¬ÎÒÃÇ¿ÉÒÔʹÓÃ
org.eclipse.swt.browser.BrowserÀàÀ´ÊµÀý»¯£ºbrowser = new Browser(shell, SWT.MOZILLA); ÔÚÕâ֮ǰ£¬ÎÒÃÇÐèҪʹÓÃATFÏîÄ¿
£¬ÒÔ¼°Ò»ÏÂATF²å¼þ¡£·Ç³£ÐÒÔË£¬ÏÖÔÚÎÒÃDz»ÐèÒ ......