Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

documentCompleted !!!!!!! JDIC

807603Jan 28 2008 — edited Jan 30 2008
Hi everyone ! I need help very bad, so please be kind and help me! First of all i have to tell you that i am novice to Java programing so if i ask something stupid don't laugh :))) I am using JDIC web browser component in my Desktop application. When i set the link to certain URL address i execute some javascript: webBrowser.executeScript("document.getElementById(.....).click(). Lets say that the same document is completed 3 times.And the result is the page in which HTML source i have the link (String) which i need to extract. The problem is when the document is completed for the 3rd time, i need to override event documentCompleted so it should do something else. In short, how can i override that "documentCompleted" event. If you guys have some example i would be really grateful. I am posting my source so you can see what i want:


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package podaciiztabela;


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import java.net.URL;
import java.net.MalformedURLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import org.jdesktop.jdic.browser.*;
import javax.script.*;


/**
* JDIC API demo main class.
* <p>
* SimpleBrowser demonstrate the usage of JDIC API package org.jdesktop.jdic.browser
* (Browser component).
*/

public class SimpleBrowser {
public static int brojac=0;
public static Ojha oj=new Ojha();
public static ArrayList jmbg=oj.uzmiJMBG();
public static boolean isFirstPage = true;


public static void main(final String[] args) {
JFrame frame = new JFrame("JDIC API Demo - SimpleBrowser");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final WebBrowser webBrowser = new WebBrowser();


//Use below code to check the status of the navigation process,
//or register a listener for the notification events.
webBrowser.addWebBrowserListener(
new WebBrowserListener() {
// public boolean isFirstPage = true;




public void downloadStarted(WebBrowserEvent event) {
// System.out.println("DOWNLOAD STARTED");
}
public void downloadCompleted(WebBrowserEvent event) {
System.out.println("DOWNLOAD COMPLETED");
}
public void downloadProgress(WebBrowserEvent event) {
// System.out.println("DOWNLOADING !!!");
}
public void downloadError(WebBrowserEvent event) {;}

public void skidajPodatke(WebBrowserEvent event){
if(brojac==3){
System.out.println("SKIDAJ PODATKE");
// webBrowser.executeScript("document.getElementById('ucEnterpriseSearch_txtReferenceNumber').setAttribute('value','07177984')");
webBrowser.executeScript("document.getElementById('btnFind').click()");
// webBrowser.executeScript("document.getElementById('ucEnterpriseSearch_txtReferenceNumber').setAttribute('value','07177984')");
// webBrowser.executeScript("document.getElementById('btnFind').click()");
// webBrowser.executeScript("document.getElementById('ucEnterpriseSearch_txtReferenceNumber').setAttribute('value','07177984')");
// for(int i=0;i<jmbg.size();i++){
// webBrowser.executeScript("document.getElementById('ucEnterpriseSearch_txtReferenceNumber').setAttribute('value',\'"+jmbg.get(i)+"\')");
oj.Stampa(webBrowser,jmbg);
// webBrowser.executeScript("document.getElementById('btnFind').click()");

// }
documentCompleted(event);
}
// oj.Stampa(webBrowser,jmbg);

System.out.println("IZASAO IZ SkidajPodatke a brojac je "+brojac);
brojac=0;
}


public void documentCompleted(WebBrowserEvent event) {
// Uncomment below code to test getContent()/setContent()/
// executeScript() APIs.
// As the setContent() call will invoke this event, which falls
// into a loop, so check if this event is fired by the first
// loaded page.

if(isFirstPage){
brojac=brojac+1;
System.out.println(brojac);
System.out.println("U IF-u");

webBrowser.executeScript("document.getElementById('ucEnterpriseSearch_rbtnRegistryCode').setAttribute('checked','checked')");
webBrowser.executeScript("document.getElementById('btnFind').click()");
webBrowser.executeScript("document.getElementById('ucEnterpriseSearch_txtReferenceNumber').setAttribute('value','07177984')");
webBrowser.executeScript("document.getElementById('btnFind').click()");
webBrowser.executeScript("document.getElementById('ucEnterpriseSearch_rbtnRegistryCode').onclick()");
webBrowser.executeScript("document.getElementById('ucEnterpriseSearch_txtReferenceNumber').setAttribute('value','07177984')");
//
// if(brojac==1){
// webBrowser.executeScript("document.getElementById('ucEnterpriseSearch_rbtnRegistryCode').onclick()");
webBrowser.executeScript("document.getElementById('btnFind').click()");

}
if(brojac==3){
isFirstPage=false;
brojac=3;
//skidajPodatke(event);
}
System.out.println("DOCUMENT COMPLETED");

}
public void titleChange(WebBrowserEvent event) {;}
public void statusTextChange(WebBrowserEvent event) {;}
});


try {
webBrowser.setURL(new URL("http://www.apr.sr.gov.yu/RepsisPublicSite/Search/GeneralEnterpriseSearch.aspx"));


} catch (MalformedURLException e) {
System.out.println(e.getMessage());
return;
}

JPanel panel = new JPanel();
JButton dugme=new JButton("DUGME");
panel.setLayout(new BorderLayout());
panel.setPreferredSize(new Dimension(700, 500));
panel.add(webBrowser, BorderLayout.CENTER);
panel.add(dugme,BorderLayout.NORTH);
// dugme.addActionListener(new Ojha());




frame.getContentPane().add(panel, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
*/

}
class Ojha {
ArrayList jmbg;

public void actionPerformed(ActionEvent e) {

System.out.println("DOGADJAJ OJHA");

}
public void Stampa(WebBrowser web,ArrayList jmbg){
for(int i=0;i<jmbg.size();i++){

web.executeScript("document.getElementById('ucEnterpriseSearch_txtReferenceNumber').setAttribute('value',\'"+jmbg.get(i)+"\')");
// web.executeScript("document.getElementById('ucEnterpriseSearch_txtReferenceNumber').setAttribute('value','07026129')");
web.executeScript("document.getElementById('btnFind').click()");


System.out.println("STAMPA");
String con=web.getContent();
System.out.println(con);
if(con.contains("/RepsisPublicSite/Public/Enterprise/BasicData.aspx?BusinessEntityId=")){
int poc=con.indexOf("/RepsisPublicSite/Public/Enterprise/BasicData.aspx?BusinessEntityId=");
int kraj=con.lastIndexOf("rnd=");
String link=con.substring(poc, kraj+13);
link=link.replaceAll("amp;", "");
link=link.replaceAll("BasicData.aspx","AnnualFinancialReport.aspx");
System.out.println("LINK JE :"+link);
}
SimpleBrowser.isFirstPage=true;


}
}
public ArrayList uzmiJMBG() {
ArrayList simboli = new ArrayList();
try {
Connection cn = CitanjeXML.getConnection();
Statement stmt;
stmt = cn.createStatement();
// String sek="select distinct simbol from BERZA.SEKTORI order by simbol asc";
String sek = "select JMBG from BERZA.PROSPEKTI ";
ResultSet rs = stmt.executeQuery(sek);

while (rs.next()) {
simboli.add(rs.getString(1));
//jComboBox1.addItem(rs.getString(1));
}

} catch (SQLException ex) {
Logger.getLogger(Ojha.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Ojha.class.getName()).log(Level.SEVERE, null, ex);
}
return simboli;
}





}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 27 2008
Added on Jan 28 2008
3 comments
180 views