⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 browserframe.java

📁 java调用ie浏览器demo源码,可以用在windows或者linux
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        brMain.back();
    }//GEN-LAST:event_bnBackActionPerformed

    private void bnForwardActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnForwardActionPerformed
        brMain.forward();
    }//GEN-LAST:event_bnForwardActionPerformed

    private void bnReloadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnReloadActionPerformed
        brMain.refresh();
    }//GEN-LAST:event_bnReloadActionPerformed

    private void bnStopActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnStopActionPerformed
        brMain.stop();
    }//GEN-LAST:event_bnStopActionPerformed

    private void miPrintActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miPrintActionPerformed
        brMain.print();
    }//GEN-LAST:event_miPrintActionPerformed

    private void miOpenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miOpenActionPerformed
        brMain.open();
    }//GEN-LAST:event_miOpenActionPerformed

    private void cmiTraceRedrawActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmiTraceRedrawActionPerformed
        brMain.setDebugDrawBorder(cmiTraceRedraw.isSelected());
    }//GEN-LAST:event_cmiTraceRedrawActionPerformed

    private Rectangle rcOldSelect = null;
    static final String stGetElemByPath =
        "function __gn(stPath)\n" +
        "{\n" +
        "   var childOrder = stPath.split(\"/\");\n" +
        "   htmlNode = document;\n" +
        "   for(var i = 0; null!=htmlNode && i<childOrder.length; ++i) {\n" +
        "       var index = 0;\n" +
        "       var limit = parseInt(childOrder[i]);\n" +
        "       for(\n" +
        "           var htmlNode = htmlNode.firstChild;\n" +
        "           null!=htmlNode && index < limit;\n" +
        "           htmlNode = htmlNode.nextSibling )\n" +
        //ditry HTML
        "       if( -1==htmlNode.nodeName.indexOf(\'/\') &&\n" +
        "            -1==htmlNode.nodeName.indexOf('<') &&\n" +
        "            -1==htmlNode.nodeName.indexOf('!') &&\n" +
        "            -1==htmlNode.nodeName.indexOf('?') &&\n" +
        "            -1==htmlNode.nodeName.indexOf('>')) " +
        "       {\n" +
        "           ++index;\n" +
        "       }\n" +
        "   }\n" +
        "   return htmlNode;\n" +
        "}\n";

    private String stOldParams = "";
    private void brXMLTreeValueChanged(javax.swing.event.TreeSelectionEvent evt) {//GEN-FIRST:event_brXMLTreeValueChanged
        if(
                null==evt ||
                null==evt.getNewLeadSelectionPath() ||
                null==evt.getNewLeadSelectionPath().getLastPathComponent() )
        {
            return;
        }
        String pathNew = BrXMLTree.getNodePath(
                (Node)(evt.getNewLeadSelectionPath().getLastPathComponent()) );
        String pathOld = (null==evt.getOldLeadSelectionPath())
                ? ""
                : BrXMLTree.getNodePath( (Node)(evt.getOldLeadSelectionPath().getLastPathComponent()) );

        if(null!=rcOldSelect){
             brMain.repaint(rcOldSelect);
        }
        final String stCommand = "#" + stGetElemByPath +
            "var res = \"\";\n" +
            ( pathOld.isEmpty() ? "" :
            "var elOld = __gn(\"" + pathOld + "\");\n" +
            "if(null != elOld) {\n" +
            "   var cs = elOld.runtimeStyle;\n" +
            "   if( null != cs ) {\n" +
            "      var prs = \"" + stOldParams + "\".split(\",\");\n" +
            "      cs.borderStyle = prs[0];\n" +
            "      cs.borderWidth = prs[1];\n" +
            "      cs.borderColor = prs[2];\n" +
            "   }\n " +
            "}\n") +
            "var elNew = __gn(\"" + pathNew + "\");\n" +
            "if(null != elNew) {\n" +
            "   var cs = elNew.runtimeStyle;\n" +
            "   if( null != cs ) {\n" +
            "      elNew.scrollIntoView();\n" +
            "      res = cs.borderStyle + \",\" +" +
            "            cs.borderWidth + \",\" +" +
            "            cs.borderColor\n" +
            "      cs.borderStyle = \"dashed\";\n" +
            "      cs.borderWidth = \"5px\";\n" +
            "      cs.borderColor = \"#FF0000\";\n" +
            "   }\n " +
            "}\n" +
            "document.documentElement.setAttribute(\"javaEval\", res);\n";
        stOldParams = brMain.execJS(stCommand);
        //stOldColor = stOldColor.substring(0, stOldColor.length()-1);
    }//GEN-LAST:event_brXMLTreeValueChanged

    private void brXMLTreeTreeWillExpand(javax.swing.event.TreeExpansionEvent evt)throws javax.swing.tree.ExpandVetoException {//GEN-FIRST:event_brXMLTreeTreeWillExpand
    }//GEN-LAST:event_brXMLTreeTreeWillExpand

    private void bnRefreshActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnRefreshActionPerformed
        brXMLTree.setXMLSource(brMain.getXHTML());
    }//GEN-LAST:event_bnRefreshActionPerformed

    private void brMainPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_brMainPropertyChange
        String stPN = evt.getPropertyName();
        if(stPN.equals("securityIcon")
          || stPN.equals("navigatedURL")
          || stPN.equals("progressBar")        
        ){
            String stNV = (String)evt.getNewValue();
            if(null==stNV)
                stNV = "";
            String st[] = stNV.split(",");            
            if(stPN.equals("navigatedURL")) {
                edAddress.setText( st[0] );
                stOldParams = "";
                brXMLTree.empty();
            } else if(stPN.equals("progressBar")) {
                int iMax = Integer.parseInt(st[0]),
                    iPos = Integer.parseInt(st[1]);
                if(0==iMax){
                    pbDownloadDoc.setVisible(false);
                    if(brMain.isDocumentReady()){
                        //bnRefreshActionPerformed(null);
                    }
                } else {
                    pbDownloadDoc.setMaximum(iMax);
                    pbDownloadDoc.setValue(iPos);
                    pbDownloadDoc.setVisible(true);
                }
            } else if(stPN.equals("securityIcon")) {
                bnLocker.setVisible(!stNV.equals("0"));
            } 
        }    
    }//GEN-LAST:event_brMainPropertyChange

    private void miNewTabActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_miNewTabActionPerformed
        brMain.openInNewBrowserPanel(null);
    }//GEN-LAST:event_miNewTabActionPerformed

private void rbPaintJavaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbPaintJavaActionPerformed
    Object o = evt.getSource();
    int paintConst = BrComponent.PAINT_JAVA;
    if(rbPaintNative.equals(o)){
        paintConst = BrComponent.PAINT_NATIVE;
    } else if(rbPaintJavaNative.equals(o)){
        paintConst = BrComponent.PAINT_JAVA_NATIVE;
    }
    BrComponent.setDefaultPaintAlgorithm(paintConst);
}//GEN-LAST:event_rbPaintJavaActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        SwingUtilities.invokeLater ( new Runnable() { public void run() { 
            new BrowserFrame().setVisible(true);
        }});
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton bnBack;
    private javax.swing.JButton bnForward;
    private javax.swing.JButton bnGo;
    private javax.swing.JButton bnLocker;
    private javax.swing.JButton bnRefresh;
    private javax.swing.JButton bnReload;
    private javax.swing.JButton bnStop;
    private org.jdic.web.BrTabbed brMain;
    private org.jdic.web.BrXMLTree brXMLTree;
    private javax.swing.JCheckBoxMenuItem cmiTraceRedraw;
    private javax.swing.JTextField edAddress;
    private javax.swing.JTextField edStatusText;
    private javax.swing.JMenu fileJMenu;
    private javax.swing.JToolBar ieStatus;
    private javax.swing.JToolBar ieToolBar;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPopupMenu jPopupMenu1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JToolBar.Separator jSeparator2;
    private javax.swing.JSeparator jSeparator3;
    private javax.swing.JSplitPane jSplitPane1;
    private javax.swing.JLabel lbURL;
    private javax.swing.JMenuBar mainJMenuBar;
    private javax.swing.JMenuItem miExit;
    private javax.swing.JMenuItem miNewTab;
    private javax.swing.JMenuItem miOpen;
    private javax.swing.JMenuItem miPrint;
    private javax.swing.JMenuItem miSave;
    private javax.swing.JProgressBar pbDownloadDoc;
    private javax.swing.JRadioButtonMenuItem rbPaintJava;
    private javax.swing.JRadioButtonMenuItem rbPaintJavaNative;
    private javax.swing.JRadioButtonMenuItem rbPaintNative;
    private javax.swing.JMenu toolsJMenu;
    private javax.swing.JMenu viewJMenu;
    private org.jdesktop.beansbinding.BindingGroup bindingGroup;
    // End of variables declaration//GEN-END:variables

    public void onClosingWindowByScript(boolean isChildWindow){
        if(!isChildWindow && JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(
            this,
            "The webpage you are viewing is trying to close the window.\n" +
            "Do you want to close this window?",
            "Warning",
            JOptionPane.YES_NO_OPTION,
            JOptionPane.QUESTION_MESSAGE))
        {
            brMain.closeCurrentPage();
        }
    }
    
    public String sync(BrComponentEvent e) {
        switch(e.getID()){
        case BrComponentEvent.DISPID_WINDOWCLOSING:
            String stValue = e.getValue();
            if(null!=stValue){
                //OLE boolean: -1 - true, 0 - false; params:(bCancel, bIsChildWindow)                                       
                final boolean isChildWindow = (0!=Integer.valueOf(stValue.split(",")[1]));
                SwingUtilities.invokeLater ( new Runnable() { public void run() { 
                            onClosingWindowByScript(isChildWindow);
                }});
            }    
            break;
        }
        return null;
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -