Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : java

XULRunner with Java: JavaXPCOM Tutorial 1

ÕâÆª½Ì³Ì¸üÐÂÓÚ2008ÄêÏÄÌ죬ÓÃÀ´¼¯³ÉSWTºÍXULRunnerÀ´ÔÚSWTÀïÏÔʾһ¸öä¯ÀÀÆ÷¡£ÒªÏë»ñµÃ¸ü¶àÐÅÏ¢£¬Çë²Î¿¼
http://www.eclipse.org/swt/faq.php#whatisbrowser
1£¬¼ò½é
       ÕâÆª½Ì³ÌÓÐÁ½¸öÄ¿µÄ¡£Ê×ÏÈ£¬ÎÒÃÇÄÜѧµ½Ò»Ð©XPCOMµÄ¸ÅÄîºÍÔõôͨ¹ýJavaXPCOMÀ´ÔÚjavaÀïʹÓÃËü¡£Æä´Î£¬ÎÒÃÇѧµ½ÔõôÔÚ
java³ÌÐòÀïǶÈëFirefoxä¯ÀÀÆ÷¡£
       ÕâÀïµÄÀý×ÓÎÒÃÇ¿ª·¢£¬±àÒëºÍ²âÊԵĻ·¾³ÊÇUbuntu 8.04ºÍJDK1.6£¨Òë×¢£¬ÎÒʹÓõÄÊÇwindows xp£©¡£ÎÒÃÇÔÚwindowsÏÂÓöµ½
Ò»¸öÎÊÌ⣬Óû§ÎÞ·¨ÔÚformÀïÊäÈëÎı¾£¬ËäÈ»ÔÚÀý×ÓÀï²¢²»ÐèÒªÕâµã¡£
1.1 ÏÂÔØ×ÊÔ´  
      Àý×ÓµÄÔ´ÂëÔÚÏà¹ØÕ½ڵĿªÊ¼ÒÔ¼°ÎÄÕµÄ×îºó¶¼ÓÐÏÂÔØ£¬µ±È»£¬ÄãÒ²¿ÉÒÔÏÂÔØËùÓеĴúÂë
http://ladyr.es/wiki/attachment/wiki/XPCOMGuide/complete-guide-resources-windows.zip  windows
http://ladyr.es/wiki/attachment/wiki/XPCOMGuide/complete-guide-resources-linux.zip   linux
2. °²×°XULRunner
     JavaXPCOMÊÇÒ»¸öÓÃÀ´·ÃÎÊXULRunnerÀïXPCOM×é¼þºÍ·þÎñµÄjava¿â¡£ÔÚÕâÀïÎÒÃǽ ......

XULRunner with Java: JavaXPCOM Tutorial 2

4 ÔÚjava´úÂëÀïǶÈëFirefox3
  ÏÖÔÚ¿ÉÒÔÈ¥ÓÃÒ»ÏÂÓÐÓõÄÀý×ÓÁË¡£Ê×ÏÈÎÒÃÇÔÚÒ»¸öjava³ÌÐòÀïʹÓÃSWTÀ´Ç¶ÈëÒ»¸öMozillaä¯ÀÀÆ÷¡£ÏÖÔÚ£¬ÎÒÃÇ¿ÉÒÔʹÓÃ
org.eclipse.swt.browser.BrowserÀàÀ´ÊµÀý»¯£ºbrowser = new Browser(shell, SWT.MOZILLA); ÔÚÕâ֮ǰ£¬ÎÒÃÇÐèҪʹÓÃATFÏîÄ¿
£¬ÒÔ¼°Ò»ÏÂATF²å¼þ¡£·Ç³£ÐÒÔË£¬ÏÖÔÚÎÒÃDz»ÐèÒªÕâЩ²¹¶¡ÁË¡£
4.1 ÅäÖû·¾³
  ΪÁËÔÚjava³ÌÐòÀïǶÈëMozillaä¯ÀÀÆ÷£¬ÎÒÃÇÐèҪʹÓÃSWTÀ´´´½¨´°¿ÚºÍǶÈëä¯ÀÀÆ÷¡£
  4.1.1 °²×°swt
   ÏÂÔØ¶ÔÓ¦²Ù×÷ϵͳµÄswt£¬¼Óµ½classpath¾ÍºÃÁË
  4.1.2 ÅäÖÃswt
   ÔËÐкóÃæÀý×ÓÐèÒªµÄjar°ü£º
   javaxpcom.jar
   MozillaInterfaces.jar
   MozillaGlue.jar
   swt.jar
   src.zip
4.2 Web BrowserÀý×Ó
package es.ladyr.javaxpcom.browser;
import org.eclipse.swt.SWT;
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.interfaces.*;
import org. ......

XULRunner with Java: JavaXPCOM Tutorial 3

6 ¼ÓÔØÒ³ÃæµÄW3C DOM·ÃÎÊ
6.1 mozdom4java¿â
  ·ÃÎÊW3C DOMÊ÷±È·ÃÎÊMozillaµÄDOMÊ÷ÒªºÃ£¬ÒòΪËüÊÇÒ»¸ö¶¯Ì¬·ÃÎÊHTMLºÍXMLµÄDOMÊ÷µÄ±ê×¼¡£ÎªÁËʵÏÖÕâ¸ö£¬ÎÒÃÇʹÓôÓMozilla
DOMµ½W3C DOMµÄjava Bridge¡£ÓÐÒ»¸ö½Ð×ömozdom4javaµÄÏîÄ¿http://mozdom4java.mozdev.org/index.html¡£
  ÏÂÔØÕâ¸ö°üºó£¬ÎÒÃǰÑjar°ü·Åµ½classpathÀï¡£ÀýÈ磬ÎÒÃÇÔö¼ÓÒ»¸ö°´Å¥À´³éÈ¡HTMLÎĵµÀïµÄËùÓÐÁ´½Ó¡£
// When that button is pressed, then we obtain the HTML document corresponding to
// the URL loaded in browser. Next, we extract all its child nodes with 'a' tag name
// and print its content.
final ToolItem anchorItem = new ToolItem(toolbar, SWT.PUSH);
anchorItem.setImage(getImage("resources/anchors.png"));
anchorItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {

// First, we obtain a Mozilla DOM Document representation
nsIDOMDocument doc = browser.getDocument();

......

XULRunner with Java: JavaXPCOM Tutorial 4

7. ÓÃJavaXPCOMÀ´×Ô¶¯ä¯ÀÀÍøÒ³
   ÔÚÕâÒ»½ÚÀïÎÒÃǽ«½â¾öһЩ×Ô¶¯ä¯ÀÀÍøÒ³ÖеÄһЩÎÊÌ⣬³¢ÊÔ°ÑÒ»ÏÂͨÓõÄÈÎÎñ³éÏó³ÉÈËÀà¿É¶ÁµÄ·½·¨£¬Òò´ËÄã¿ÉÒÔÇáÒ×µÄÔĶÁ
´úÂë²¢ÖªµÀËüµÄ¹¦ÄÜ¡£ÎÒÃǽ«¹¹½¨Ò»¸öWeb BrowserÀ´¼ÓÔØÍøÒ³£¬µã»÷°´Å¥»òÕß³¬Á´½Ó£¬Ê¹ÓÃXPathÀ´³éȡһÏÂÓÐÓõÄÐÅÏ¢¡£ÔÚÿһ¸ö
С½ÚÀïÃæ£¬ÎÒÃǶ¼½«ÔÚÎÒÃǵÄä¯ÀÀÆ÷ÀïÔö¼ÓÐµĹ¦ÄÜ£¬Òò´ËÔÚ×îºó£¬ÎÒÃǽ«ÓÐÒ»¸öWeb Browser£¬ËüÄܹ»ÊµÏÖÍøÒ³µÄ×Ô¶¯
ä¯ÀÀ¡£
7.1 ʹÓÃÎÒÃǵÄä¯ÀÀÆ÷À´¼ÓÔØÍøÒ³
    ÔÚÀý×Ó SimpleBrowserÀÎÒÃÇʹÓ÷½·¨ public boolean setUrl(String url) À´ÈÃä¯ÀÀÆ÷¼ÓÔØÒ»¸öurl¡£Õâ¸ö·½·¨µÄÎÊÌâÊÇËü
¿ÉÒÔÈÃä¯ÀÀÆ÷¿ªÊ¼¼ÓÔØÒ»¸öÒ³Ãæ£¬µ«ÊDz»»áµÈ´ýä¯ÀÀÆ÷¼ÓÔØÒ³ÃæÍê³É¡£ÎÒÃÇдÁËÒ»¸ö·½·¨½Ð×ögoÀ´ÊµÏÖÕâ¸ö¹¦ÄÜ£¬Òò´ËºóÃæÎÒÃǽ«Ê¹
ÓÃÕâÖÖ·½·¨À´°²È«µÄ¼ÓÔØÒ»¸öÒ³Ãæ£¬×èÈûסִÐÐÁ÷³ÌÖ±µ½Ò³Ãæ¼ÓÔØ³É¹¦»òÕß³¬Ê±¡£
    ×¢£ºÊµÏֵķ½·¨ÊÇÔÚsetUrlµÄʱºò¶¨ÒåÒ»¸öCountDownLatch£¬È»ºó¼àÌýbrowser.addProgressListener£¬µÈÒ³ÃæÍê³Éºó°ÑÕâ¸ö
CountDownLatch countDownһϡ£µ÷ÓÃsetUrlºóʹÓÃCountDownLatchµÄawait·½·¨µÈ´ý¼ÓÔØÍê³É»òÕß³¬Ê±¡£×¢Òâµ÷ÓÃsetUrlʱҪÆô¶¯
Ò»¸öSW ......

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;
impor ......

ʹÓÃjava½«ÍøÒ³±£´æÎªmht¸ñʽ

¿ÉÒÔÓÃ×öcsdn±¸·Ý£¬Õâ¸ö·½·¨À©³äÒÔºó×ö¸öcsdn±¸·Ý¹¤¾ßµ¹ÊDz»´í
 
 
 
 package com.tag;
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.BufferedReader;
    import java.io.ByteArrayInputStream;
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.Reader;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.*;
    import org.htmlparser.Pa ......
×ܼǼÊý:6386; ×ÜÒ³Êý:1065; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [447] [448] [449] [450] 451 [452] [453] [454] [455] [456]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ