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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
| import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.*;
import java.io.*;
class APPOOrd
{
public final static String DEBUT_TITRE_FENETRE = "Princeton Plainsboro-antenne de Conches-";
public static void main (String[] args)
{
FenetreAPPOOrd fenMain = new FenetreAPPOOrd(DEBUT_TITRE_FENETRE+" KA ET GR1");
fenMain.setVisible(true);
fenMain.pack();
}
static String now() // NE PAS MODIFIER !
{
return new java.text.SimpleDateFormat("H:mm").format(new java.util.Date());
}
}
class FenetreAPPOOrd extends JFrame implements ActionListener
{
public final static char NEWLINE = '\n';
public final static int NB_PATIENTS_SERVICE = 12;
JButton[] tabBoutons = new JButton[NB_PATIENTS_SERVICE];//tableau des boutons des patients
JButton cld = new JButton("Compléter le dossier");
JButton mld = new JButton("Modifier le dossier");
JButton alt = new JButton("Administrer le traitement");
JButton quitter = new JButton("Quitter");
JLabel texte1 = new JLabel("Nombre de traitements administrés : ");
JLabel texte2 = new JLabel("Nombre de patients traités : ");
JLabel lblNbTrait = new JLabel("0");
JLabel lblNbPat = new JLabel("0");
JTextArea zoneDeTexte = new JTextArea(20,40);
JPanel zoneBtnGrid = new JPanel(new GridLayout(0,4));
JButton ancienBtn = null;
FenetreAPPOOrd(String titre)
{
setTitle(titre);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel zoneBtnBorder = new JPanel(new BorderLayout());
JPanel zoneNord = new JPanel(new BorderLayout());
JPanel zonelblNbTrait = new JPanel(new BorderLayout());
JPanel zonelblNbPat = new JPanel(new BorderLayout());
JPanel zonelbl = new JPanel(new BorderLayout());
JPanel zoneSud = new JPanel(new BorderLayout());
cld.setEnabled(false);
alt.setEnabled(false);
mld.addActionListener(this);
quitter.addActionListener(this);
zoneDeTexte.setEditable(false);
zonelblNbTrait.add(texte1,"West");
zonelblNbTrait.add(lblNbTrait,"East");
zonelblNbPat.add(texte2,"West");
zonelblNbPat.add(lblNbPat,"East");
zonelbl.add(zonelblNbTrait,"North");
zonelbl.add(zonelblNbPat,"South");
zoneSud.add(zonelbl,"West");
zoneSud.add(quitter,"East");
creerBoutons("patients.txt");
zoneBtnBorder.add(cld,"West");
zoneBtnBorder.add(mld,"Center");
zoneBtnBorder.add(alt,"East");
zoneNord.add(zoneBtnGrid,"North");
zoneNord.add(new JLabel(" "),"Center");
zoneNord.add(zoneBtnBorder,"South");
add(zoneNord,"North");
add(zoneDeTexte,"Center");
add(zoneSud,"South");
}
private void creerBoutons(String nomFichier)//lire un fichier
{
try
{
Scanner fichier = new Scanner(new File(nomFichier));
for (int i = 0; i<tabBoutons.length; i++)
{
tabBoutons[i]= new JButton(fichier.nextLine());
zoneBtnGrid.add(tabBoutons[i]);
tabBoutons[i].addActionListener(this);
}
}
catch(IOException ioe)
{
}
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource().equals(quitter))
{
int resultat = JOptionPane.showConfirmDialog(null,"Etes-vous guéri ?",
"De la part de l'équipe de diagnostic", JOptionPane.YES_NO_OPTION);
if(resultat == JOptionPane.YES_OPTION)
System.exit(0);
}
else if(ae.getSource().equals(mld))
{
JOptionPane.showMessageDialog(null,"Fonctionnalité pas encore implémentée !",
"De la part de l'équipe de developpement", JOptionPane.INFORMATION_MESSAGE);
}
else if(ae.getSource().equals(alt))
{
alt.setEnabled(false);
zoneDeTexte.append(ancienBtn.getText()+" a reçu son traitement à "+APPOOrd.now()+NEWLINE);
}
else //click sur un des patients
{
if(ancienBtn != null)
{
ancienBtn.setEnabled(true);
}
ancienBtn = (JButton)ae.getSource();
ancienBtn.setEnabled(false);
alt.setEnabled(true);
}
}
} |
Partager