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) ??
![]()
La création d'un Jar est la façon la plus simple pour faire un programme Java exécutable. Seulement, cela est souvent difficile pour les débutants car il y a plusieurs paramètre à prendre en compte. Si tu as un bon livre généraliste sur Java, il doit y avoir une explication sur la création d'un Jar. Sinon, pour Eclipse, je te conseil l'extension FatJar qui est très simple d'utilisation et qui s'occupe de tous les paramètres (manifest, classe principale...). Recherche sur Google pour le téléchargement. Mais même si FatJar te suffit, essaye d'en faire un à la main (en ligne de commande) car c'est quelque chose que tout bon programmeur Java doit connaitre. Bonne chance.
http://jmdoudoux.developpez.com/java...=Chap_003#L3.7
Si tu utilises Eclipse (et n'oublie pas le dernier point : la spécification du fichier manifest)
Voir aussi les cours et tutoriels pour apprendre la programmation Java : http://java.developpez.com/cours/
merci !!!!!![]()
![]()
![]()
![]()
![]()
Partager