bonjour,
j'aimerais pouvoir lancer une méthode ( methode main() de la classe Main) au clique sur un bouton.
est ce que cela est réalisable avec l'utilisation de la méthode actionPerformed ????
Merci![]()
![]()
bonjour,
j'aimerais pouvoir lancer une méthode ( methode main() de la classe Main) au clique sur un bouton.
est ce que cela est réalisable avec l'utilisation de la méthode actionPerformed ????
Merci![]()
![]()
tu peux lancer l'execusion de la mathode main de la classe
montre nous ton code
Class main :
Class Mylistener :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class Main { public static void main(String[] args){ try { System.out.println("Go"); //construction du fichier XML DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance(); fabrique.setNamespaceAware(true); DocumentBuilder analyseur = fabrique.newDocumentBuilder(); //création du fichier XML Document doc = analyseur.parse(new File("FR-FR-Form270207-4-1.xml")); DOMSource sourceXML = new DOMSource(doc); //Création du fichier XSL doc = analyseur.parse(new File("test.xsl")); DOMSource sourceXSL = new DOMSource(doc); TransformerFactory trFact = TransformerFactory.newInstance(); Transformer transformeur = trFact.newTransformer(sourceXSL); transformeur.setOutputProperty(OutputKeys.METHOD, "html"); transformeur.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1"); transformeur.setOutputProperty(OutputKeys.INDENT, "yes"); //transformeur.setParameter("num", "6"); File oFic = new File("resultat.vm"); FileOutputStream fos = new FileOutputStream(oFic); if (fos != null) { Result sortie = new StreamResult(fos); transformeur.transform(sourceXML, sortie); } fos.flush(); fos.close(); System.out.println("XSL transf done"); Velocity.init(); VelocityContext context = new VelocityContext(); context.put( "date", new DateHelper()); Template template = Velocity.getTemplate("resultat.vm"); FileWriter fw = new FileWriter("result.xls"); template.merge( context, fw ); fw.close(); System.out.println("Velocity transf done"); } catch (Throwable t) { t.printStackTrace(); } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class MyListener implements ActionListener { // constructeur. public MyListener() { } // méthode d'interface. public void actionPerformed(ActionEvent e) { JButton src_button = (JButton)e.getSource(); String src_text = src_button.getText(); JOptionPane.showMessageDialog(null, "Vous avez appuyé sur le bouton " + src_text); } }
Merci![]()
La méthode main d'une classe n'est pas faite pour ce genre de chose, elle est utilisé au lancement de ton programme par la machine virtuelle java, c'est tout. Tu ne dois pas mettre tout ton code dans la méthode main, je trouve ça sale personnellement. Essaye de sortir ton code de cette méthode main et mets dans une autre méthode de ce genre :Dans ta méthode actionPerformed, tu n'auras plus cas faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public static void maMethode() { try { System.out.println("Go"); //construction du fichier XML DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance(); fabrique.setNamespaceAware(true); DocumentBuilder analyseur = fabrique.newDocumentBuilder(); //création du fichier XML Document doc = analyseur.parse(new File("FR-FR-Form270207-4-1.xml")); DOMSource sourceXML = new DOMSource(doc); //Création du fichier XSL doc = analyseur.parse(new File("test.xsl")); DOMSource sourceXSL = new DOMSource(doc); TransformerFactory trFact = TransformerFactory.newInstance(); Transformer transformeur = trFact.newTransformer(sourceXSL); transformeur.setOutputProperty(OutputKeys.METHOD, "html"); transformeur.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1"); transformeur.setOutputProperty(OutputKeys.INDENT, "yes"); //transformeur.setParameter("num", "6"); File oFic = new File("resultat.vm"); FileOutputStream fos = new FileOutputStream(oFic); if (fos != null) { Result sortie = new StreamResult(fos); transformeur.transform(sourceXML, sortie); } fos.flush(); fos.close(); System.out.println("XSL transf done"); Velocity.init(); VelocityContext context = new VelocityContext(); context.put( "date", new DateHelper()); Template template = Velocity.getTemplate("resultat.vm"); FileWriter fw = new FileWriter("result.xls"); template.merge( context, fw ); fw.close(); System.out.println("Velocity transf done"); } catch (Throwable t) { t.printStackTrace(); } }Bonne chance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Main.maMethode();
Merci pour tes conseils sur la facon de coder en java .C' est toujours tres appréciable pour un débutant !!
Re-bonjour,
Voila mon appli marche bien , merci encore à Janitrix!!
Par contre je n'arrive pas à créer une application indépendante de eclipse...... j'ai essayer de créer un .jar ( je ne suis pas sur que se soit la meilleur solution pour créer une appli externe à eclipse) et j'ai malheureusement un probleme => could not find the main class lorsque je lance le .jar .
j'ai regardé évidemment sur google avant de poser ma question mais n'ai rien trouvé de concluant sur le sujet.
Je spécifie bien le chemin d'acces a la class Main, la méthode main est bien déclarée comme suit :Par contre je n'ai aps réussi a trouver le fichier manifest, le probleme viens peut etre de la ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part public static void main(String[] args)
Merci beaucoup
PS: cela pourrait il venir des librairies que j'importe dans mon projet (.jar) ??
![]()
Partager