Bonjour,
Pour un TP, nous avons un exercice dans lequel il faut créer une interface graphique qui envoie des emails en renseignant l'adresse d'origine, de destination, un objet et un message. Nous disposons d'un serveur SMTP dans notre université, l'envoi du mail en Java fonctionne mais je rencontre un autre souci.
Nous devions faire l'application en plusieurs classes et je souhaiterai afficher les textes entrés dans les formulaires (expéditeur, destinataire, objet et message) dans la console lorsque je clique sur OK. Je vous donne les codes de mes 3 classes afin que vous puissiez jeter un oeil :
Fenetre.java
ChampTexte.java
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
58 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Fenetre extends JFrame implements ActionListener{ protected JLabel destinataire; protected JLabel objet; // public String texte; private ChampTexte expediteur; public Fenetre(){ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(600,300); this.setTitle("Expéditeur de messages"); this.setVisible(true); Container cp = this.getContentPane(); JPanel panel = new JPanel(); cp.add(panel,BorderLayout.NORTH); panel.setLayout(new BorderLayout()); expediteur = new ChampTexte("Expéditeur : "); ChampTexte destinataire = new ChampTexte("Destinataire : "); ChampTexte objet = new ChampTexte("Objet : "); panel.add(expediteur,BorderLayout.NORTH); panel.add(destinataire,BorderLayout.CENTER); panel.add(objet,BorderLayout.SOUTH); JTextArea message = new JTextArea(); cp.add(message,BorderLayout.CENTER); JButton bouton = new JButton("Envoyer"); cp.add(bouton,BorderLayout.SOUTH); bouton.addActionListener(this); this.setVisible(true); } public static void main(String[] args){ Fenetre maFenetre = new Fenetre(); } /* public String toString(){ String n = new String(); n = ChampTexte.gettexte(); return(n); }*/ public void actionPerformed(ActionEvent e){ System.out.println("Expediteur : "+expediteur.gettexte()); // System.out.println("Evenement !"); // Email monEmail = new Email(); } }
Ligne.java
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 import java.awt.*; import javax.swing.*; import javax.swing.border.Border; public class ChampTexte extends JPanel{ public String texte; public JTextField text; public ChampTexte(String a){ JLabel label = new JLabel(a); Ligne text = new Ligne(); this.setLayout(new BorderLayout()); this.add(label,BorderLayout.WEST); this.add(text,BorderLayout.EAST); } public String gettexte(){ return(text.getText());} public static void main(String[] args) {} }
Les commentaires sont des lignes que je laisse selon l'utilisation que je souhaite mais je n'arrive pas à afficher le contenu de la case Expéditeur dans le System.out.println("Expediteur : "+expediteur.gettexte());
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 import java.awt.*; import javax.swing.*; import javax.swing.border.Border; public class Ligne extends JTextField{ public Ligne() { super.setPreferredSize(new Dimension(500,20)); } public static void main (String[] args){} } public void actionPerformed(ActionEvent e){ System.out.println("Expediteur : "+expediteur.gettexte()); // System.out.println("Evenement !"); // Email monEmail = new Email(); }
Désolé si je ne respecte pas toujours la casse des noms de classe ou d'objets...
Merci d'avance !
Un étudiant bloqué...
Partager