乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      使用JDIC與本機桌面程序交互...

       ShangShujie 2008-02-18

      Java在WEB上大放異彩,但在桌面程序開發(fā)上可以說遜色太多了。Swing默認的樣式難看,速度又慢,而且為了兼容各操作系統(tǒng),Java很難保 證方便地與一些系統(tǒng)專有的程序進行交互,比如Windows中的IE等,而.NET Framework則有很方便的工具可供使用。

      對本機程序進行封裝,這也是現(xiàn)在軟件開發(fā)的一大思路,比如傲游(Maxthon)瀏覽器(原名MyIE2),就是基于IE進行開發(fā)的,加了很多功能,現(xiàn)在非常流行。

      可以想像,如果用Java實現(xiàn)一個Maxthon,難度是相當大的。

      但JDIC 的出現(xiàn),使Java與本機桌面程序交互變得容易了不少。JDesktop Integration Components (JDIC)的目的是構(gòu)建消除本機應用程序和 Java 等價物之間差距的組件。JDIC 目前提供了本機 Web 瀏覽器(Internet Explorer 或 Mozilla) 支持、系統(tǒng)托盤支持、文件擴展集成和其他桌面特性。相信JDIC將來在Java桌面開發(fā)上會越來越受歡迎。

      https://jdic.dev./
      http://www.ibm.com/developerworks/cn/java/j-jdic/
      http://community./javadesktop/

      下面以一個基于IE瀏覽器的小程序來介紹一下JDIC的使用。

      程序的需求: 復制一段文字內(nèi)容到IE瀏覽器打的網(wǎng)頁中的某些表單,即實現(xiàn)自動填寫表單的功能。比如我們登錄,自動填寫用戶登錄表單。

      這 個功能也是現(xiàn)在很多瀏覽器本身就支持的,比如Firefox,就會記錄,然后自動完成。當然我們使用程序控制更為強大,易于擴展。這是個簡單的功能,但對 于某些行業(yè),經(jīng)常需要在網(wǎng)頁上填寫大量表單,就非常有用,可以節(jié)省大量時間,特別是如果填寫的數(shù)據(jù)也用程序來讀取的話:)

      解決思路:使用程序打開一個IE窗口,并在窗口中執(zhí)行一段JavaScript代碼,設置表單的值。

      使用JDIC,即其中的org.jdesktop.jdic.browser這個package,使用executeScript()方法即可以在當前窗口打開的HTML中執(zhí)行JavaScript。這里基于jdic.browser的Demo做些簡單的改寫,就可以滿足我們的需求。

      首先在瀏覽器上增加一個“自動完成”按鈕,并給該按鈕加上事件處理函數(shù)。

      import org.jdesktop.jdic.browser.*;

      webBrowser = new WebBrowser(new URL("http://www."));

       JButton jCompleteButton = new JButton("自動填寫",
                  new ImageIcon(getClass().getResource("images/AC.png")));

      jCompleteButton.addActionListener(new Browser_jCompleteButton_actionAdapter(this));       

      class Browser_jCompleteButton_actionAdapter implements java.awt.event.ActionListener {
          Browser adaptee;

          Browser_jCompleteButton_actionAdapter(Browser adaptee) {
              this.adaptee = adaptee;
          }

          public void actionPerformed(ActionEvent e) {
              adaptee.jCompleteButton_actionPerformed(e);
          }
      }

        void jCompleteButton_actionPerformed(ActionEvent e) {
                webBrowser.executeScript("document.getElementById(‘uname‘).value=‘haohappy‘;document.getElementById(‘pwd‘).value=‘123456‘;");
          }

      上面紅色那行就是利用JS來設置表單的內(nèi)容。

      最后結(jié)果:

      可以在當前頁面中執(zhí)行JavaScript,我們就可以對HTML進行各種各樣的操作,實現(xiàn)各種功能。

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多