[ jocat @ 28.03.2006. 06:42 ] @
Pretraživao sam na internetu i nisam došao do odgovora kako pozvati izveštaj iz Java programa.

Da li postoji negde neki univerzalni kod za tako nešto ?

Zahvaljujem se unapred!
[ arthur @ 07.04.2006. 23:48 ] @
Ako je i dalje problem aktuealan, evo par jednostavnih primera:

http://www.javaworld.com/javaw...jw-0920-opensourceprofile.html
http://technology.amis.nl/blog/index.php?p=346
http://ensode.net/jasperreports_intro.html
http://www.devx.com/Java/Article/29309/0/page/1
[ gorpe @ 12.12.2012. 11:03 ] @
Evo stavis na komandno dugme

Samo izmjeni u svoju putanju


try {
String report = "C:\\Users\\XXX\\Documents\\NetBeansProjects\\IMEPROJEKTA\\report1.jrxml";
JasperReport jr = JasperCompileManager.compileReport(report);
JasperPrint jp = JasperFillManager.fillReport(jr, null, conn);
JasperViewer.viewReport(jp,false);
} catch (JRException ex) {
Logger.getLogger(Izvjestaj.class.getName()).log(Level.SEVERE, null, ex);
}

Javi ako upijes ???
[ zoranix @ 12.12.2012. 12:34 ] @
Naziv izveštaja "report1.jrxml" treba da se nalazi u istom folderu gde je i klasa koja ga poziva.
U svakom drugom slučaju putanju nikada ne navodi ovako:
Citat:
String report = "C:\\Users\\XXX\\Documents\\NetBeansProjects\\IMEPROJEKTA\\report1.jrxml";

jer će ti ovo raditi samo na M$ Windows-u, a ako tako želiš pređi na C#.

Ako koristiš Javu razmišljaj globalno i korisiti Posix sistem putanja, jer će ti to raditi na svemu što ima Javu SE.
U tom slučaju uvek koristi relativno adresiranje od mesta (foldera) u kome se nalazi klasa koja se izvršava (takozvani "class root"). Na primer:
Citat:
"./reports/report1.jrxml"


Namesto:
Citat:
} catch (JRException ex) {
Logger.getLogger(Izvjestaj.class.getName()).log(Level.SEVERE, null, ex);
}


korisiti:
}catch (Exception ex) {
System.out.println("moja greška = " + ex);
}

Ovo će ti reći šta ti nedostaje od JAR fajlova koje obavezno moraš dodati u CLASSPATH putanji. To su najverovatnije JAR fajlovi iz JasperReports-a, koji se redistribuiraju da bi ti štampa i izvoz u neke druge formate radili!
[ bantu @ 12.12.2012. 12:45 ] @
Ne znam zašto, ali mislim da korisnika koji je postavio ovu temo ovo sigurno više ne zanima. :)
Do sada je već riješio problem, ili je odustao. :)
[ gorpe @ 12.12.2012. 18:37 ] @
a ja imam problem dok je na kompu na kojem razvijam aplikaciju sve je ok, ali kad uradim clean and build i probam na drugom kompu nece da mi otvori jreport ....
izbaci da je losa lokacija ??
sta da uradim da rijesim taj problem ???

Evo sta mi izbaci
net.sf.jasperreports.JRException:java io.FileNotFoundException:report1.jrxml(The system cannot find the file specified)
[ bantu @ 13.12.2012. 07:16 ] @
Pa treba da napravis program tako da ti ne zavisi od putanje.
[ FooLControL @ 13.12.2012. 20:39 ] @
Verovatno korsitis apsolutne putanje umesto relativnih.
[ gorpe @ 11.01.2013. 13:06 ] @
Do mene je bilo , ali evo ako kome zatreba kod

try {
String report = "report1.jrxml";
JasperReport jr = JasperCompileManager.compileReport(report);
JasperPrint jp = JasperFillManager.fillReport(jr, null, conn);
JasperViewer jw = new JasperViewer(jp,false);
jw.setVisible(true);
} catch (JRException ex) {
JOptionPane.showMessageDialog(null, ex);
}
[ caca @ 18.01.2013. 14:33 ] @
U NetBeans sam dodala plagins za iReport.

Napravila stampu i preko java aplikacije je pozivam.
Stampa mi se prikaze na ekranu i ona izgleda kako i ocekujem ali mi u iReport output javi sledece


log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.


Kako da to resim ?
Prvi put se srecem sa log4j.

Ovo je kod koji poziva stampu.

Code:

public void stampajRacun( )  { 
      try      { 
// PREPARING DATABASE CONNECTION
            con = DBveza.getConnection();
// PATH TO YOUR JASPER FILE
            String fullPath="izv/RacZB.jasper";            
// PREPARE THE PARAMETERS
            Map<String, Object> param=new HashMap<String, Object>();
            param.put("brRac",Integer.parseInt(txtId.getText().trim()));    
// FILL THE REPORT
            JasperPrint JPrint=JasperFillManager.fillReport(fullPath,param,con);   
// VIEW THE REPORT
            JasperViewer.viewReport(JPrint,false);
// CLOSE CONNECTION
            con.close();
      }
       catch(SQLException sqle) 
        { poruka.setText(sqle.getMessage());
             } 
        catch(Exception e) 
            { poruka.setText(e.getMessage());
            } 
    }