Programa JAVA para escribir ... Gestión Médica

Angelica -  
 goossens thierry -
¡Hola! ¡Puedo ayudarte con gusto! A continuación tienes la traducción al español del texto que enviaste, conservando el tono y el formato original lo más fiel posible. Hola! ¡Debo escribir un programa sobre una Gestión Médica para mi trabajo escolar y ya no sé por dónde continuar. Se trata de crear varias interfaces gráficas y métodos para la gestión. Te envío lo que he hecho hasta la fecha así como el enunciado del trabajo. Necesito ayuda URGENTE POR FAVOR!
/*
SISTEMA DE GESTIÓN MÉDICA (SGM)

Objetivos :
- Archivos de acceso aleatorio (RandomAccessFile)
- Clase Archivo
- Clase JFileChooser
- Tablas de índice para gestionar registros de tamaño variable con clave no uniforme
- Tratamiento de excepciones
- Serialización
- Polimorfismo

Este proyecto consiste en realizar la implantación de un sistema de gestión de expedientes médicos de los pacientes. Se hará de forma más simplificada la gestión del personal administrativo, médico y de apoyo.

Uno de los criterios importantes de la evaluación de este proyecto es la aplicación pertinente de la materia vista en clase y la calidad de las interfaces persona-máquina (interfaces gráficas). Aquí se proporcionan las pautas para la gestión del sistema; puedes añadir nuevas funcionalidades. Da rienda suelta a tu imaginación, pero mantente siempre dentro de un marco realista. Las interfaces gráficas contarán para el 50% de la nota del proyecto.

Al inicio aparecerá en pantalla completa una interfaz de bienvenida según tu creatividad, y debe figurar obligatoriamente lo siguiente. Esta interfaz permanecerá en pantalla aproximadamente 10 segundos.

Interface 1

Aquí un logotipo

S
G M

Otra interfaz aparecerá para realizar la gestión administrativa, de apoyo o médica.

Interface 2

Logotipo SGM

Administración Apoyo Médico

Código de usuario

Contraseña
No debe mostrarse en pantalla

En modo administrativo se crearán administradores, personal de apoyo y personal médico. Pedir para cada uno los datos habituales (nombre, apellido, dirección, fecha de nacimiento, sexo, estado civil, números de teléfono, correo electrónico, etc.). Para un médico también habrá que pedir su especialidad (elegir mediante una lista desplegable). A cada uno se le asignará una contraseña (que deberá estar cifrada). Cada tipo de empleado se conservará en un archivo propio, ya sea admin.dat, soutien.dat y medical.dat. Estos tres archivos serán archivos de objetos (concepto de serialización).

Al elegir Apoyo, la única opción a realizar será crear el expediente de un paciente (su primera visita). La clave de un paciente será su número de aseguramiento médico (NAM, ver el formato de este código a partir de su propia tarjeta de aseguramiento médico). Este número también constituirá su número de expediente. Pedir en pantalla la información necesaria para crear un paciente. Estas informaciones serán NAM, nombre, apellido, dirección, fecha de nacimiento, sexo, estado civil, números de teléfono, correo electrónico, etc. Se debe prever un campo para asignarle un número de médico (que es el código de usuario de este último). Prever más de un médico. Esta interfaz gráfica será muy importante.

En el nivel médico, hará falta pedir el código de empleado en la clínica o hospital y la contraseña (diferentes de la primera), lo que constituirá un segundo nivel de seguridad. El médico introducirá el NAM del paciente y aparecerá una interfaz gráfica. Esta interfaz es la interfaz principal del proyecto, por lo que conviene prestarle toda la atención posible. Cargar el expediente del paciente. El expediente deberá tener varias fichas llamadas visita1, visita2, etc. En estas zonas el médico registra las informaciones sobre la visita del paciente. Debe haber al menos los campos: síntomas, diagnóstico, observaciones, tratamiento y médico tratante (su número). En el campo de observaciones el médico escribirá sus propias notas. Prever dos flechas (izquierda/derecha) para pasar de una ficha a otra. Un médico podrá modificar solo su propia ficha. Si el paciente debe realizar análisis, ver a un especialista, radiografías, etc., mostrar en pantalla un formulario con las informaciones principales del paciente, del médico y un campo para la escritura del médico. Haber un botón para imprimir este formulario. Prever un espacio para la firma del médico.

Pregunta: ¿Cómo conservar la información de los pacientes (su expediente)? Utilizar una tabla de índice cuya clave es NAM. Por tanto existen dos archivos: patient.dat y patient.ndx. Esta tabla índice contendrá: clave, dirección del registro en el expediente patient.dat y estado (borrado sí/no).
Vamos a crear una tabla de índice de la forma siguiente:

Tabla_indice_paciente

Dirección del registro La clave (código del curso) Borrado (true/false)
(número del octeto)
*/
//

public class Dirección
{
private String noCasa, calle, ciudad, provincia, país, códigoPostal;

public Dirección() { }

public Dirección(String noCasa, String calle, String códigoPostal)
{
this.noCasa= noCasa;
this.calle= calle;
this.códigoPostal= códigoPostal;
}

public Dirección(String noCasa, String calle, String ciudad, String provincia, String país, String códigoPostal)
{
this.noCasa= noCasa;
this.calle = calle;
this.ciudad= ciudad;
this.provincia= provincia;
this.país= país;
this.códigoPostal= códigoPostal;
}

//métodos GET
public String getNoCasa() { return noCasa; }
public String getCalle() { return calle; }
public String getCiudad() { return ciudad; }
public String getProvincia() { return provincia; }
public String getPaís() { return país; }
public String getCódigoPostal() { return códigoPostal; }

//métodos SET
public void setNoCasa(String noCasa) { this.noCasa= noCasa; }
public void setCalle(String calle) { this.calle= calle; }
public void setCiudad(String ciudad) { this.ciudad= ciudad; }
public void setProvincia(String provincia) {this.provincia= provincia; }
public void setPaís(String país) { this.país= país; }
public void setCódigoPostal(String códigoPostal) { this.códigoPostal= códigoPostal; }

public String toString()
{
return "# de casa: " + noCasa + " Calle: " + calle + " Ciudad: " + ciudad + "Provincia: " + provincia + "País: " + país + "Código Postal: " + códigoPostal;
}
} //clase
------------------------------------------------------------------
//import java.util.*;
import javax.swing.*;

public class Employee extends Persona
{
//private Vector misEmpleados = new Vector();

//private Employee unEmployee;
private int noEmployee;
private String TypePersonnel;
private Persona persona;
private Dirección adressPatient;

public Employee() { }

public Employee(int noEmployee,String TypePersonnel,Persona persona,Direccion adressPatient)
{
this.noEmployee = noEmployee;
this.TypePersonnel = TypePersonnel;
this.persona = persona;
this.adressPatient = adressPatient;
}

//métodos GET
public int getNoEmployee() { return noEmployee; }
public String getTypePersonnel() { return TypePersonnel; }
public Persona getPersona() { return persona; }
public Direccion getAdressPatient() { return adressPatient; }
//***public Vector getVector() { return mesEmployee; }

//métodos SET
public void setnoEmployee(int noEmployee) { this.noEmployee = noEmployee; }
public void setTypeDePersonnel(String TypeDePersonnel) { this.TypePersonnel = TypePersonnel; }

//añadir un paciente //a definir
public void AñadirPaciente(Formulario unAjout)
{
JOptionPane.showMessageDialog(null, "¡Se ha añadido un paciente!", "", JOptionPane.PLAIN_MESSAGE);
}

//eliminar un paciente //a definir
public void EliminarPaciente(int noEmployee)
{
JOptionPane.showMessageDialog(null, "¡Se ha eliminado un paciente!", "", JOptionPane.PLAIN_MESSAGE);
}

public String toString() {
return "Número del empleado: " + noEmployee + "\t" + "Tipo de personal: " + TypePersonnel;
}
} //fin clase
-----------------------------------------------------------------------
import java.util.*;
import javax.swing.*;

public class Formulario extends JFrame {
//Contenido del formulario de alta de persona
}
-----------------------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import javax.swing.*;

//import java.awt.Font;

public class GestionMedicale extends JFrame implements ActionListener
{
private JTextArea sortie;
private Container panFrame = getContentPane();

private JPanel contenu;

private JMenuItem mQuitter = new JMenuItem("Quitter", KeyEvent.VK_Q);
private JMenuItem mAjouterAdmin = new JMenuItem("Ajouter des administrateurs", KeyEvent.VK_A);
private JMenuItem mAjouterSoutien = new JMenuItem("Ajouter du personnel de soutien", KeyEvent.VK_R);
private JMenuItem mAjouterMed = new JMenuItem("Ajouter du personnel médical ", KeyEvent.VK_O);

private JMenuItem mAjouterDossier = new JMenuItem("Créer le dossier d'un client", KeyEvent.VK_C);

private JMenuItem mChargerDossier = new JMenuItem("Charger le dossier d'un patient", KeyEvent.VK_N);

private JMenuItem mFileRead = new JMenuItem("Initialiser le registre à partir d'un fichier");

private JLabel message;
private final String etiquette = "Opération effectuée: ";

public GestionMedicale()
{
setTitle("SYSTÈME DE GESTION MÉDICALE");
setSize(600,500);
setLocation(100,100);
setResizable(false);

sortie = new JTextArea(25, 52);

// Créer la barre de menus et en faire la barre de menus courante
JMenuBar barreMenus = new JMenuBar();
setJMenuBar(barreMenus);

// Créer le menu Fichier et l'ajouter à la barre de menus
JMenu menuFichier = new JMenu("Fichier");
barreMenus.add(menuFichier);
menuFichier.addSeparator();
menuFichier.add(mQuitter);
mQuitter.addActionListener(this);

// Créer le menu Gestion_Etudiant et l'ajouter à la barre de menus
JMenu menuAdmin = new JMenu("Administration");
barreMenus.add(menuAdmin);
menuAdmin.add(mAjouterAdmin);
menuAdmin.add(mAjouterSoutien);
menuAdmin.add(mAjouterMed);
mAjouterAdmin.addActionListener(this);
mAjouterSoutien.addActionListener(this);
mAjouterMed.addActionListener(this);

// Créer le menu Cours et l'ajouter à la barre de menus
JMenu menuSoutien = new JMenu("Soutien");
barreMenus.add(menuSoutien);
menuSoutien.add(mAjouterDossier);
mAjouterDossier.addActionListener(this);

JMenu menuMedical = new JMenu("Médical");
barreMenus.add(menuMedical);
menuMedical.add(mChargerDossier);
mChargerDossier.addActionListener(this);

contenu = new JPanel();
sortie.setEditable(false);
contenu.add(sortie);
panFrame.add("Center", contenu);
setVisible(true);
message = new JLabel(etiquette);
contenu.add("South", message);
validate();
}

/* Método que gestiona la escucha de eventos de las opciones del menú*/
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == mQuitter)
terminar();
else if (e.getSource() == mAjouterAdmin) {
message.setText(etiquette + "añadir personal administrativo");
añadirPersAdm();
}
else if (e.getSource() == mAjouterSoutien) {
message.setText(etiquette + "Añadir personal de apoyo");
añadirPersSoutien();
}
else if (e.getSource() == mAjouterMed) {
message.setText(etiquette + "Añadir personal médico ");
añadirPersMed();
}
else if (e.getSource() == mAjouterDossier) {
message.setText(etiquette + "Añadir expediente de cliente ");
añadirDossierClient();
}
else if (e.getSource() == mChargerDossier) {
message.setText(etiquette + "Cargar el expediente del cliente");
cargarDossier();
}
}//actionPerfomed

public void terminar() { System.exit(0); }

public void añadirPersAdm(){
//verificarContraseña();
System.out.println("En añadir personal admin");
Formulario formulario= new Formulario();
}

public void añadirPersSoutien(){
//verificarContraseña();
System.out.println("En añadir personal apoyo");
Formulario formulario2=new Formulario();
}

public void añadirPersMed(){
//verificarContraseña();
System.out.println("En añadir personal médico");
Formulario formulario3=new Formulario();
}

public void añadirDossierClient(){
//verificarContraseña();
System.out.println("En añadir expediente cliente");
Formulario formulario4=new Formulario(); //o FormularioPaciente = new FormularioPaciente();
}

public void cargarDossier(){
//verificarContraseña();
System.out.println("En cargar el expediente");
}

public static void main(String[] args)
{
final GestionMedicale go = new GestionMedicale();
go.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e ) {
go.terminar();
System.exit( 0 );
}
}
);

/*int choix;
final int SystemeDeGestionMedical = 1;
choix = Integer.parseInt(JOptionPane.showInputDialog("Tapea 1 para acceder al sistema de gestión médica\n\n"));

switch (choix)
{
case SystemeDeGestionMedical :
Formulario unAjout = new Formulario();
unAjout.addWindowListener
(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
break;
} */

}//main
}//fin clase
-----------------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;

public class MenuPrincipal extends JFrame implements Si quieres, puedo continuar con: - Traducir otras partes del código o comentarios al español. - Ayudarte a estructurar las interfaces gráficas (GUI) en Java Swing. - Explicar conceptos de tablas de índice, serialización, y manejo de archivos en Java. - Proponer un plan paso a paso para completar el proyecto. Indícame qué parte te gustaría que desarrollemos primero.

5 respuestas

zagor5 Mensajes publicados 187 Estado Miembro 32
 
Para cifrar una contraseña, no sé.

Para agrandar la ventana, añade antes
this.setSize(300,300);

sustituye los 300 por el tamaño deseado.
el método show();

Por otro lado, ¿es normal que el mensaje "El paciente ha sido creado" aparezca todo el tiempo ya que es la primera instrucción que pusiste en actionPerformed(ActionEvent e)? Entonces este mensaje aparece en cuanto haces clic en un botón.

Cuanto más falla, más probabilidades hay de que funcione.
2
zagor5 Mensajes publicados 187 Estado Miembro 32
 
Pero intenta echar un vistazo al JPasswordField() para la contraseña. Para más información sobre este componente:
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JPasswordField.html

Es un componente que se coloca en una frame.

Cuanto más falla, más probabilidades hay de que funcione.
1
zagor5 Mensajes publicados 187 Estado Miembro 32
 
Y más precisamente, ¿qué problema tienes?
No es fácil entender lo que hiciste con tu código, ya que faltan clases (al menos la clase formulario) para que podamos al menos intentar compilarlo!

Entonces, ¿qué lograste hacer?
¿Qué es lo que no consigues hacer?

Cuanto más falla, más probabilidades hay de que funcione.
0
Angy
 
¡Hola! Soy yo de nuevo sobre mi trabajo de escuela.
Te envío aquí lo que hice como programa para la Gestión Médica, pero me parece que hay muchas cosas que o no funcionan o son inútiles.
No sé cómo cifrar para hacer una contraseña para verificar para que los empleados puedan entrar en el formulario de info. Cuando aparece la interfaz del formulario solo se ve una mini ventana que hay que ampliar nosotros mismos.
¿Cómo se hace para que se vea directo bien abierto sin tener que ampliar? Cuando ingreso un nuevo empleado aparece el mismo mensaje ‘El paciente ha sido creado’ incluso si no he ingresado nada. ¿Cuál es mi o mis errores?
Gracias por responder


public class Adresse
{
private String noMaison, rue, ville, province, pays, codePostal;

public Adresse() { }

public Adresse(String noMaison, String rue, String codePostal)
{
this.noMaison= noMaison;
this.rue= rue;
this.codePostal= codePostal;
}

public Adresse(String noMaison, String rue, String ville, String province, String pays, String codePostal)
{
this.noMaison= noMaison;
this.rue = rue;
this.ville= ville;
this.province= province;
this.pays= pays;
this.codePostal= codePostal;
}

//métodos GET
public String getNoMaison() { return noMaison; }
public String getRue() { return rue; }
public String getVille() { return ville; }
public String getProvince() { return province; }
public String getPays() { return pays; }
public String getCodePostal() { return codePostal; }

//métodos SET
public void setNoMaison(String noMaison) { this.noMaison= noMaison; }
public void setRue(String rue) { this.rue= rue; }
public void setVille(String ville) { this.ville= ville; }
public void setProvince(String province) {this.province= province; }
public void setPays(String pays) { this.pays= pays; }
public void setCodePostal(String codePostal) { this.codePostal= codePostal; }

public String toString()
{
return "No. de Maison: " + noMaison + "\n" + "Rue: " + rue + "\n" + "Ville: " + ville + "\n"
+ "Province: " + province + "\n" + "Pays: " + pays + "\n" + "Code Postal: " + codePostal + "\n";
}
}//clase
------------------------------------------------------------------------
//import java.util.*;
import javax.swing.*;

public class Employee extends Personne
{
//private Vector mesEmployee = new Vector();

//private Employee unEmployee;
private int noEmployee;
private String TypePersonnel;
private Personne personne;

public Employee() { }

public Employee(int noEmployee, String TypePersonnel, Personne personne)
{
this.noEmployee = noEmployee;
this.TypePersonnel = TypePersonnel;
this.personne = personne;
}

//métodos GET
public int getNoEmployee() { return noEmployee; }
public String getTypePersonnel() { return TypePersonnel; }
public Personne getPersonne() { return personne; }//
//***public Vector getVector() { return mesEmployee; }

//métodos SET
public void setNoEmployee(int noEmployee) { this.noEmployee = noEmployee; }
public void setTypePersonnel(String TypePersonnel) { this.TypePersonnel = TypePersonnel; }
public void setPersonne(Personne personne) { this.personne = personne; }//

public String toString() {
return "Numéro de l'employé : " + "\t\t" + noEmployee + "\n"
+ "Type de personnel : " + "\t\t" + TypePersonnel + "\n";
}

//Obtenir la taille d'un enregistrement
public long tailleEnrg(String typePersonnel, Personne personne){
long taille=(4 + typePersonnel.length() + personne.toString().length());
return taille;
}
//Obtenir le numero d'enregistrement
public long numeroEnrg(int leNumero){
int numEnreg = leNumero % 100;
return numEnreg;
}
//Obtenir l'adresse de l'enregistrement
public long adresseEnrg(long numEnreg, long taille){
long adresseEnrg = numEnreg*taille;
return adresseEnrg;
}
}//fin classe {}
-----------------------------------------------------------------------
import java.awt.*; //JTextArea
import java.awt.event.*;
import java.io.*; //lectureFichier
import javax.swing.*;
import java.util.*;
/*
import java.io.IOException;
import javax.swing.JOptionPane;
import java.awt.Font;
*/

public class Formulaire extends JFrame implements ActionListener
{
ObjectOutputStream laSortie;

String fichierAdm="admin.dat";
String fichierSout="soutien.dat";

final JLabel etiqTypePersonnel, etiqNoEmployee,
etiqNom,
etiqPrenom,
etiqNoMaison, etiqRue, etiqVille, etiqProvince, etiqPays, etiqCodePostal,
etiqDatNais,
etiqSexe,
etiqEtatCivil,
etiqNoTel;

final JTextField champTypePersonnel, champNoEmployee,
champNom,
champPrenom,
champNoMaison, champRue, champVille, champProvince, champPays, champCodePostal,
champDatNais,
champSexe,
champEtatCivil,
champNoTel;

final JButton ajouter, initialiser, supprimer, retourMenuP;

static Vector employees = new Vector();
Adresse adressPers;
Personne personne;
int noEmployee;
int numEmp;
private String noEmp;
String typePers,
nom,
prenom,
noMaison, rue, ville, province, pays, codePostal,
datNais,
sexe,
etatCivil,
noTel;

//int motDePasse;
//String numHouse;

JTextArea sortie = new JTextArea(10,30);
BufferedWriter sortieText;

//constructeur
public Formulaire()
{
super("AJOUT D'UN EMPLOYÉE");
Container c = getContentPane();
c.setLayout(new GridLayout(0, 2, 6, 6));

etiqTypePersonnel = new JLabel("Type de personnel :",SwingConstants.RIGHT);
etiqTypePersonnel.setToolTipText("De quel type de personnel est-il?");
champTypePersonnel = new JTextField();
champTypePersonnel.addActionListener(this);
c.add(etiqTypePersonnel);
c.add(champTypePersonnel);

etiqNom = new JLabel("Nom :",SwingConstants.RIGHT);
etiqNom.setToolTipText("Quel est son nom?");
champNom = new JTextField();
champNom.addActionListener(this);
c.add(etiqNom);
c.add(champNom);

etiqPrenom = new JLabel("Prénom :",SwingConstants.RIGHT);
etiqPrenom.setToolTipText("Quel est son prénom?");
champPrenom = new JTextField();
champPrenom.addActionListener(this);
c.add(etiqPrenom);
c.add(champPrenom);

etiqNoMaison = new JLabel("Numéro de Maison(ou app.) :",SwingConstants.RIGHT);
etiqNoMaison.setToolTipText("Quel est le numéro de Maison (ou app.)?");
champNoMaison = new JTextField();
champNoMaison.addActionListener(this);
c.add(etiqNoMaison);
c.add(champNoMaison);

etiqRue = new JLabel("Rue :",SwingConstants.RIGHT);
etiqRue.setToolTipText("Quel est le nom de la rue?");
champRue = new JTextField();
champRue.addActionListener(this);
c.add(etiqRue);
c.add(champRue);

etiqVille = new JLabel("Ville :",SwingConstants.RIGHT);
etiqVille.setToolTipText("Quel est le nom de la ville?");
champVille = new JTextField();
champVille.addActionListener(this);
c.add(etiqVille);
c.add(champVille);

etiqProvince = new JLabel("Province :",SwingConstants.RIGHT);
etiqProvince.setToolTipText("Quel est le nom de la province?");
champProvince = new JTextField();
champProvince.addActionListener(this);
c.add(etiqProvince);
c.add(champProvince);

etiqPays = new JLabel("Pays :",SwingConstants.RIGHT);
etiqPays.setToolTipText("Quel est le nom du pays?");
champPays = new JTextField();
champPays.addActionListener(this);
c.add(etiqPays);
c.add(champPays);

etiqCodePostal = new JLabel("Code postal :",SwingConstants.RIGHT);
etiqCodePostal.setToolTipText("Quel est son code postal");
champCodePostal = new JTextField();
champCodePostal.addActionListener(this);
c.add(etiqCodePostal);
c.add(champCodePostal);

etiqDatNais = new JLabel("Date de naissance :",SwingConstants.RIGHT);
etiqDatNais.setToolTipText("Quel est sa date de naissance");
champDatNais = new JTextField();
champDatNais.addActionListener(this);
c.add(etiqDatNais);
c.add(champDatNais);

etiqSexe = new JLabel("Type de sexe :",SwingConstants.RIGHT);
etiqSexe.setToolTipText("De quel est sexe est-il (elle)?");
champSexe = new JTextField();
champSexe.addActionListener(this);
c.add(etiqSexe);
c.add(champSexe);

etiqEtatCivil = new JLabel("État civil :",SwingConstants.RIGHT);
etiqEtatCivil.setToolTipText("Quel est son état civil");
champEtatCivil = new JTextField();
champEtatCivil.addActionListener(this);
c.add(etiqEtatCivil);
c.add(champEtatCivil);

etiqNoTel = new JLabel("Téléphone :",SwingConstants.RIGHT);
etiqNoTel.setToolTipText("Quel est son numéro de téléphone");
champNoTel = new JTextField();
c.add(etiqNoTel);
c.add(champNoTel);



//--- NUMÉRO - L'EMPLOYEE immodifiable-----------------------------
etiqNoEmployee = new JLabel("Numéro d'employé:",SwingConstants.RIGHT);
champNoEmployee = new JTextField();
champNoEmployee.setBackground(Color.orange);
champNoEmployee.addActionListener(this);
champNoEmployee.setEditable(false);
noEmp = Integer.toString(employees.size()+1);//private String: noEmp --> vector: employees
noEmployee = employees.size()+1; //int: noEmployee --> vector: employees
champNoEmployee.setText(noEmp); //private String: noEmp est ajouté au Container: c
c.add(etiqNoEmployee);
c.add(champNoEmployee);

ajouter = new JButton("Ajouter l'employé");
ajouter.addActionListener(this);
c.add(ajouter);

initialiser = new JButton("Initialiser");
initialiser.addActionListener(this);
c.add(initialiser);

supprimer = new JButton("Supprimer un employé");
supprimer.addActionListener(this);
c.add(supprimer);

retourMenuP = new JButton("Retour au menu");
retourMenuP.addActionListener(this);
c.add(retourMenuP);

c.setSize(200,200);
c.setLocation(200,200);
show();
}

public void actionPerformed(ActionEvent e)
{
//-------------------------------AJOUTER----------------------------
if(e.getSource() == ajouter)
{
String TypePersonnel = "";
TypePersonnel = champTypePersonnel.getText();

noEmp = Integer.toString(noEmployee); //private String: noEmp == int: noEmployee
noEmp = Integer.toString(employees.size()+1); //private String: noEmp --> vector: employees
noEmployee = employees.size()+1; //int: noEmployee --> vector: employees
champNoEmployee.setText(noEmp); //private String: noEmp est ajouté au Container: c

nom = champNom.getText();
prenom = champPrenom.getText();
noMaison = champNoMaison.getText();
rue = champRue.getText();
ville = champVille.getText();
province = champProvince.getText();
pays = champPays.getText();
codePostal = champCodePostal.getText();
datNais = champDatNais.getText();
sexe = champSexe.getText();
etatCivil = champEtatCivil.getText();
noTel = champNoTel.getText();
//String MOTPASSE = champTypePersonnel.getText();

adressPers = new Adresse(noMaison, rue, ville, province, pays, codePostal);
personne = new Personne(nom, prenom, adressPers, datNais, sexe, etatCivil, noTel); //objeto Persona

employees.addElement(new Employee(noEmployee,TypePersonnel,personne));
ecrireFichier(employees);
String texte ="";

for(int i =0;i < employees.size();i++)
{
Employee emp = (Employee)employees.elementAt(i);

texte += emp.toString() + "\n"
+ "Nom du Client : \t\t" + emp.getPersonne().getPrenom() + " "
+ emp.getPersonne().getNom() + "\n"
+ emp.getPersonne().getAdressPers().toString() + "\n"
+ "Date de naissance : \t\t" + emp.getPersonne().getDatNais()+"\n"
+ "Type de sexe : \t\t\t" + emp.getPersonne().getSexe()+"\n"
+ "État civil : \t\t\t" + emp.getPersonne().getEtatCivil()+"\n"
+ "Numéro de téléphone : \t\t" + emp.getPersonne().getNoTel()+"\n" ;

sortie.setText(texte);
}
noEmployee += 1;
noEmp = Integer.toString(noEmployee);

JOptionPane.showMessageDialog(null, sortie, "Information sur l'employé",JOptionPane.PLAIN_MESSAGE);

try{
sortieText.write(texte);
sortieText.newLine();
sortieText.close();
} catch (IOException e2){}

champPays.setText("");
champProvince.setText("");
champVille.setText("");
champPrenom.setText("");
champNom.setText("");
champNoTel.setText("");
champDatNais.setText("");
champSexe.setText("");
champEtatCivil.setText("");
champRue.setText("");
champNoMaison.setText("");
champCodePostal.setText("");
champNoEmployee.setText(noEmp);
champTypePersonnel.setText("");
}
//----------------------------INITIALISER---------------------------
if (e.getSource() == initialiser)
{
champTypePersonnel.setText("");
champNoEmployee.setText(noEmp);
champNom.setText("");
champPrenom.setText("");
champNoMaison.setText("");
champRue.setText("");
champVille.setText("");
champProvince.setText("");
champPays.setText("");
champDatNais.setText("");
champSexe.setText("");
champEtatCivil.setText("");
champNoTel.setText("");
champCodePostal.setText("");
}
//----------------------------SUPPRIMER---------------------------
if(e.getSource() == supprimer)
{
String no = JOptionPane.showInputDialog("Quel est le numéro de l'employée que vous voulez supprimer ?");
numEmp = Integer.parseInt(no);

for(int i =0;i < employees.size();i++) //employees=vector
{
Employee emp = (Employee)employees.elementAt(i);

if(emp.getNoEmployee()== numEmp)
{
employees.removeElementAt(i);
noEmployee -= 1;
noEmp = Integer.toString(noEmployee);
champNoEmployee.setText(noEmp);
}
else
{
JOptionPane.showMessageDialog(null, "Ce numéro d'employé est inexistant!");
}
}//for
}
if(e.getSource() == retourMenuP)
{
GestionMedicale autreGestion= new GestionMedicale();

}
}//actionPerformed

private void ecrireFichier(Object emp)
{
try{
laSortie= new ObjectOutputStream(new FileOutputStream(fichierAdm));
laSortie.writeObject(emp);
laSortie.close();
}
catch(IOException ioe){
System.out.println("Exception du type IO!");
}
}

}//fin classe
--------------------------------------------------------------------
import java.awt.*; //JTextArea
import java.awt.event.*;
import java.io.*; //lectureFichier
import javax.swing.*;
import java.util.*;

public class FormulaireMedecin extends JFrame implements ActionListener
{
ObjectOutputStream laSortie;

String fichierMed="medical.dat";

final JLabel etiqTypePersonnel, etiqNoEmployee,
etiqNom,
etiqPrenom,
etiqNoMaison, etiqRue, etiqVille, etiqProvince, etiqPays, etiqCodePostal,
etiqDatNais,
etiqSexe,
etiqEtatCivil,
etiqNoTel,
etiqSpecialite;

final JTextField champTypePersonnel, champNoEmployee,
champNom,
champPrenom,
champNoMaison, champRue, champVille, champProvince, champPays, champCodePostal,
champDatNais,
champSexe,
champEtatCivil,
champNoTel,
champSpecialite;

final JButton ajouter, initialiser, supprimer, retourMenuP;

static Vector employees = new Vector();
Adresse adressPers;
Personne personne;
int noEmployee;
int numEmp;
private String noEmp;
String typePers,
nom,
prenom,
noMaison, rue, ville, province, pays, codePostal,
datNais,
sexe,
etatCivil,
noTel;

//int motDePasse;
//String numHouse;

JTextArea sortie = new JTextArea(10,30);
BufferedWriter sortieText;

//constructeur
0
Nico
 
Oye,

solo un detalle sobre JPasswordField: no cifra de ninguna manera la contraseña. Solo oculta la visualización. Si quieres cifrarla para almacenarla en algún sitio, usa MD5 como algoritmo.

++

Nico
0
zagor5 Mensajes publicados 187 Estado Miembro 32
 
Es verdad, pero había retomado el dato "la contraseña no debe mostrarse en pantalla". Y para eso, el JPasswordField debería funcionar.

Cuanto más se falla, más probabilidad hay de que funcione.
0
Nico
 
Estoy totalmente de acuerdo contigo. Solo era una aclaración para la persona concernida para que no se imagine cosas ;-) Nico
0
Chiha
 
Hola amigos,

Debo hacer un programa en Java que implemente una interfaz gráfica; ésta debe gestionar las citas de pacientes para 3 médicos especialistas diferentes durante un periodo de dos semanas.

Las citas deben tener en cuenta la disponibilidad horaria de los médicos, la urgencia del paciente y sus preferencias para la cita.
Por ejemplo, un paciente que no especifica una cita, el programa debe ser capaz de asignarle una cita según la grille horaria ya establecida en forma de una JTable que muestra los calendarios horarios de cada médico.
El programa también debe gestionar las citas canceladas, es decir, eliminar una cita de la grille horaria y mostrarla de nuevo.

En resumen, me gustaría, por favor, obtener ideas que puedan ayudarme a comenzar a programar el código.

Gracias de antemano por sus valiosos consejos.
0
goossens thierry
 
No olvides los controles de los códigos de prestaciones de cuidados proporcionadas. Para códigos de 6 dígitos, en Bélgica, es Modulo7; para los códigos bancarios es Modulo97. Atención a los pacientes con pago por terceros (ticket moderador).
Espero haberte ayudado.
¿Podrías contactarme? También tengo preguntas. Gracias de antemano.
goossens.thierry@gmail.com
0