Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper
Jasper Forum d'entraide sur Jasper Reports. Avant de poster --> FAQ Jasper, Tutoriels Jasper
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/05/2011, 04h07   #1
Membre régulier
 
Avatar de the watcher
 
Inscription : juillet 2003
Messages : 356
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 356
Points : 81
Points : 81
Envoyer un message via MSN à the watcher Envoyer un message via Yahoo à the watcher Envoyer un message via Skype™ à the watcher
Par défaut Problème d'affichage d'un état

Bonjour à tous,
Je me permet de venir vers vous pour une aide très précieuse.
Voilà j'utilise jasperviewer que j'ai placé dans un JDialog pour afficher mon état :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
public class MyViewer extends JDialog{
	private static final long serialVersionUID = 1L;
	private JRViewer viewer = null;
	private boolean isExitOnClose = true;
	private JPanel pnlMain;
 
	public MyViewer(JasperPrint jasperPrint){
		this.isExitOnClose = false;
		initView();		
		this.viewer = new JRViewer(jasperPrint);
		//this.pnlMain.add(this.viewer, BorderLayout.CENTER);
	}
 
	public MyViewer(JasperPrint jasperPrint,boolean isExitOnClose){
		this.isExitOnClose = isExitOnClose;
 
		initComponents();
 
		this.viewer = new JRViewer(jasperPrint);
		this.pnlMain.add(this.viewer, BorderLayout.CENTER);
	}
 
 
	private void initComponents(){
		pnlMain = new JPanel();
		setTitle("MyViewer");
		setIconImage(
				new javax
					.swing
					.ImageIcon(
						getClass().getResource(
							"/net/sf/jasperreports/view/images/jricon.GIF"))
					.getImage());
			addWindowListener(new java.awt.event.WindowAdapter() {
				public void windowClosing(java.awt.event.WindowEvent evt) {
					exitForm();
				}
			});
 
			pnlMain.setLayout(new java.awt.BorderLayout());
			getContentPane().add(pnlMain, java.awt.BorderLayout.CENTER);
			pack();
			java.awt.Dimension screenSize =
				java.awt.Toolkit.getDefaultToolkit().getScreenSize();
			setSize(new java.awt.Dimension(750, 550));
			setLocation(
				(screenSize.width - 750) / 2,
				(screenSize.height - 550) / 2);
			this.setModal(true);
	}
 
	void exitForm(){
		if(this.isExitOnClose){
			this.dispose();
		}else{
			this.setVisible(false);
			this.viewer.clear();
			this.viewer = null;
			this.getContentPane().removeAll();
			this.dispose();
		}}
 
	void initView(){
		String fileName = null;
 
	String url = "jdbc:mysql://localhost/ecolexpert";
        String login = "root";
        String password = "mysql";
	 Connection connection = null;
 
	try {
		// - Connexion à la base
            Driver monDriver = new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(monDriver);
            connection = (Connection) DriverManager.getConnection(url, login, password);
	System.out.println("Connection is OK");
 
	 // - Load & compile report
 JasperDesign jasperDesign = new  JasperDesign();
	// jasperDesign = JRXmlLoader.load("C:\\prosuviande\\ListeReport.jrxml");
			 jasperDesign = JRXmlLoader.load("C:\\ECOLExpert\\Reports\\TOUTESMA.jrxml");
			 //jasperDesign = JRXmlLoader.load("C:\\prosuviande\\JasperSoft\\iReport-2.0.4\\jrxml\\TEST1.jrxml");
 
			 System.out.println("Load is successful");
			 JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
			 System.out.println("Compile is OK");
 
			 // - Paramètres à envoyer au rapport
			 Map parameters = new HashMap();
			 parameters.put("Titre", "All customers");
			 System.out.println("Put param is OK");
 
			 // - Execution du rapport
			 JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
			 System.out.println("Fill report is OK");
			 // - Création du rapport au format PDF
			viewReport(jasperPrint);
 
		} catch (JRException e) {
			 System.out.println("JRException");
			 e.printStackTrace();
			} catch (SQLException e) {
				 System.out.println("SQLException");
				 e.printStackTrace();
			} finally {
				 try {
			  connection.close();
		 //System.out.println("Connection is closed");
		 } catch (SQLException e) {
		 System.out.println("SQLException: close connection");
	 e.printStackTrace(); } }}
 
 
	private static void usage() {
		System.out.println("JasperViewer usage:");
		System.out.println("\tjava JasperViewer -XML -Ffile");	}
 
	public static void viewReport(JasperPrint jasperPrint) {
		JasperViewer jasperViewer = new JasperViewer(jasperPrint);
		jasperViewer.setVisible(true);	}}
J'appelle cette boîte de dialogue à partir de la fenêtre principale comme suit :
Code :
1
2
3
JasperPrint jasperPrint = new JasperPrint();
					MyViewer voir = new MyViewer(jasperPrint);
					voir.setVisible(true);
Mon problème est que lorsque je ferme l'état, tout le programme se ferme. A quel niveau dois-je encore apporter les modifications afin que l'adaptation soit totale.

Merci d'avance
__________________
L'important n'est pas de tout savoir mais de savoir où tout se trouve !
the watcher est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h31.


 
 
 
 
Partenaires

Hébergement Web