Examen de programmation en Java
Vendredi 13 janvier 2006
Nom :
Prénom :
Les différentes parties sont indépendantes. Vous pouvez faire la partie consacrée aux
évenements même si vous n’avez pas fait la construction de l’interface graphique, de
même pour la partie réseau.
Documents authorisés : polycopiés de cours, TD, TP et corrections de TP.
Résumé
Le but de ce contrôle est la réalisation d’un client mail simple
1 Interfaces graphiques
1.1 Résultat voulu
Le resultat final est présenté dans les figures 1 et 2 (en fin de document).
1.2 Panneau d’envoi de mail
Le panneau d’envoi de mail doit avoir l’aspect présenté en figure 3. Complétez le
code ci-dessous pour obtenir ce résultat (il n’est pas nécessaire de créer une fenêtre
puisque ce panneau sera placé dans un panneau à onglets).
import java.awt.*;
import java.util.Date;
import javax.swing.*;
public class PanneauNouveauMessage extends JPanel {
protected JPanel pChamps;
protected JPanel pBoutons;
protected JLabel lDe, lPour, lDate, lSujet;
protected JTextField tfPour, tfSujet;
1
protected JTextArea taMessage;
protected JButton bEnvoyer, bAnnuler;
private ApplicationMail amParent;
public PanneauNouveauMessage(ApplicationMail parent){
super();
amParent = parent;
lDate = new JLabel(new Date().toString());
taMessage.setBorder(
BorderFactory.createTitledBorder("Corps du
message"));
pChamps = new JPanel();
pChamps.setLayout(new GridBagLayout());
GridBagConstraints gb = new GridBagConstraints();
2
pBoutons = new JPanel();
pBoutons.setLayout(new GridLayout(0,2));
3
this.setLayout(new BorderLayout());
}
}
1.3 Panneau de lecture des mails
Le panneau de lecture des mails doit avoir l’aspect présenté en figure 4.
Les labels lXXValeur sont vides pour l’instant mais ils doivent quand même
être mis en place. L’objet bmListeMessages stocke les messages sous la forme
d’un tableau accessible par la méthode getMails.
Complétez le code ci-dessous pour obtenir ce résultat (il n’est pas nécessaire de
créer une fenêtre puisque ce panneau sera placé dans un panneau à onglets).
import java.awt.*;
import javax.swing.*;
public class PanneauMessagesRecus extends JSplitPane {
protected JScrollPane spPanneauScroll, spMessages;
protected JPanel pMessage;
protected JTextArea taCorpsMessage;
protected JLabel lDe, lPour, lDate, lSujet;
protected JLabel lDeValeur, lPourValeur, lDateValeur,
lSujetValeur;
protected JList lMessages;
protected BoiteMail bmListeMessages;
private ApplicationMail amParent;
4
public PanneauMessagesRecus(ApplicationMail parent){
super();
amParent = parent;
lDeValeur = new JLabel();
lPourValeur = new JLabel();
lDateValeur = new JLabel();
lSujetValeur = new JLabel();
pMessage = new JPanel();
5
1 / 17 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !