Afficher execution d'un programme java sur un composant graphic

chhibiJAVA
Messages postés
30
Date d'inscription
lundi 21 novembre 2011
Statut
Membre
Dernière intervention
26 septembre 2012
- 21 mars 2012 à 19:37
cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
- 22 mars 2012 à 09:19
bonjour ,

j'ai crée une interface graphique (jframe) sur netbeans d'envoie mail et je cherche lors de la clique sur le bouton envoyer l'affichage de l’exécution se fait sur un jpanel;
es que si possible?et si possible comment faire pour afficher l’exécution ?

Merci d'avance

3 réponses

cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
22 mars 2012 à 08:14
Bonjour,

Je comprend pas ce que tu veux dire par afficher l'exécution ?

Mais à priori, oui, c'est possible, tu dois placer tes infos dans un JLabel par exemple que tu ajoutes au panel.
0
chhibiJAVA
Messages postés
30
Date d'inscription
lundi 21 novembre 2011
Statut
Membre
Dernière intervention
26 septembre 2012

22 mars 2012 à 08:47
Bonjour,

merci pour ta réponse ,afficher l'execution c'est à dire lorsque je clique sur run file dans netbeans il y a des systeme.out.println seront affichés par exemple mon programme permet d'envoyer des emails avec des pièces jointes lorsque l'envoie est effectué les informations dont les noms de fichiers et destinations seront affichés.



voici mon code pour bien me comprendre :



public static void main(String[] args) {

// Get current date/time and format it for output
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
String current_time = format.format(date);

MailDAO m1 = new MailDAO();
try {

String from = "chhibi.ahmed@gmail.com";
String msg = "bonjour";
String subject = "mailattachment";
String smtp = "";
String username="";
String password="";
int port=0;
String filename = "D:\\4infob5\\PFA\\fichier pointage";
File fichier = new File(filename);

String[] list = fichier.list();

for (int i = 0; i < m1.readDept().size(); i++) {

String deprt = m1.readDept().elementAt(i);
System.out.println("\nNom de departement :" + deprt);

for (int j = 0; j < list.length; j++) {

if ((File.separatorChar + list[j]).contains(deprt)) {

System.out.println("la pièce jointe :" + File.separatorChar + list[j]);
for (int k = 0; k < m1.readMail(deprt).size(); k++) {
System.out.println("Mail Destination:" + m1.readMail(deprt).elementAt(k));
Mail M = new Mail(from, m1.readMail(deprt).elementAt(k),
msg, subject, filename + File.separatorChar + list[j],smtp,username,password,port);

if (m1.sendEmail(M)) {
m1.Ajouter(m1.readMail(deprt).elementAt(k), File.separatorChar + list[j], current_time);

} else {
System.out.println("email non envoyée");
}


}

}

}
}

} catch (Exception e1) {
}

}


merci.
0
cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
22 mars 2012 à 09:19
Ha d'accord, tu veux juste que tes system.out soient redirigés vers une fenêtre.

Alors, tu peux lancer manuellement le programme à l'aide de la commande java -jar dans la console et de cette manière, tu récupéreras les logs et les sysout.

Mais ce n'est pas ce que tu veux. Je te donne une classe qui te permettra d'afficher du texte :

public class Visualiseur extends JPanel {

private static final long serialVersionUID = -436796550293385586L;

private JTextArea texte;


public Visualiseur(String donnees){
setLayout(new BorderLayout());
texte = new JTextArea(donnees);
texte.setEditable(false);
add(new JScrollPane(texte), BorderLayout.CENTER);
setSize(700, 500);
setPreferredSize(getSize());
setVisible(true);
}

public void append(String ligne){
texte.setText(texte.getText()+"\n"+ligne);
repaint();
}


public JTextArea getTexte() {
return texte;
}	
}


Il te suffit de faire un append sur le composant et le texte sera ajouté dans un JPanel. Tu pourras ensuite l'afficher dans une JFrame.
0