Ciao ragazzi!
Sono davvero in difficoltà per la realizzazione di un programma in java.
Praticamente dovrei creare un programma che gestisca un pronto soccorso.
I pazienti del pronto soccorso sono divisi in tre categorie: urgenti (colore rosso), normali (colore giallo), poco urgenti (colore bianco).
Ogni volta che entra un nuovo paziente viene "analizzata" l'urgenza: se è rosso supera tutti i bianchi e i gialli e si pone di seguito all'ultimo rosso; se è giallo supera solo i bianchi ecc.
Di ogni paziente è salvato il nome, cognome e codice.
Tutto questo deve essere gestito da un programma visuale che abbia diversi pulsanti: quello di andare nella prima posizione del vettore, due pulsanti che permettono di scorrere nel vettore e di visualizzare le info dei pazienti (questi due pulsanti incrementano e decrementano la variabile del vettore), il pulsante "visita" che rimuove il paziente (e fa scalare gli altri), i due pulsanti salva e carica (si salva in un file .bin) ed infine il pulsante nuovo che crea un altro paziente.
Ho creato a grandi linee la parte grafica:
(non fate caso al segmento di codice da 32 a 47...stavo provando una cosa)
e praticamente dovrei unirla con questo:
qui invece c'è la classe paziente (con get e set di nome, cognome ecc)
Potete aiutarmi?
Sono arrivato a questo punto...e ora non so come uscirne fuori.
Sopratutto nella parte della gestione dei pulsanti...
Sono davvero in difficoltà per la realizzazione di un programma in java.
Praticamente dovrei creare un programma che gestisca un pronto soccorso.
I pazienti del pronto soccorso sono divisi in tre categorie: urgenti (colore rosso), normali (colore giallo), poco urgenti (colore bianco).
Ogni volta che entra un nuovo paziente viene "analizzata" l'urgenza: se è rosso supera tutti i bianchi e i gialli e si pone di seguito all'ultimo rosso; se è giallo supera solo i bianchi ecc.
Di ogni paziente è salvato il nome, cognome e codice.
Tutto questo deve essere gestito da un programma visuale che abbia diversi pulsanti: quello di andare nella prima posizione del vettore, due pulsanti che permettono di scorrere nel vettore e di visualizzare le info dei pazienti (questi due pulsanti incrementano e decrementano la variabile del vettore), il pulsante "visita" che rimuove il paziente (e fa scalare gli altri), i due pulsanti salva e carica (si salva in un file .bin) ed infine il pulsante nuovo che crea un altro paziente.
Ho creato a grandi linee la parte grafica:
Codice:
import java.io.*;
import java.awt.*;
import java.lang.*;
import java.awt.event.*;
import javax.swing.*;
class Form5
{ private static TextField Tnumpaz= new TextField(30);
private static TextField Tnompaz= new TextField(30);
private static TextField Tcogpaz= new TextField(30);
private static TextField Tcodpaz= new TextField(30);
private static TextField Tnumtot= new TextField(30);
private static Frame fr = new Frame("Pronto soccorso");
private static Panel Pan = new Panel(); //pannello globale
private static Label Lnumpaz = new Label("Numero paziente");
private static Label Lnompaz = new Label("Nome paziente");
private static Label Lcogpaz = new Label("Cognome paziente");
private static Label Lcodpaz = new Label("Codice paziente");
private static Label Lnumtot = new Label("Numero totale");
private static GridLayout G0 = new GridLayout (8,5); //griglia 1x1
private static ImageIcon ICprimo = new ImageIcon("primo.png");
private static JButton Bprimo = new JButton("Primo",ICprimo);
private static ImageIcon ICSu = new ImageIcon("su.png");
private static JButton BSu = new JButton(ICSu);
private static ImageIcon ICGiu = new ImageIcon("giu.png");
private static JButton BGiu = new JButton(ICGiu);
private static ImageIcon ICvisita = new ImageIcon("visita.png");
private static JButton Bvisita = new JButton("Visita",ICvisita);
private static ImageIcon ICnuovo = new ImageIcon("new.png");
private static JButton Bnuovo = new JButton("Nuovo",ICnuovo);
private static ImageIcon ICsalva = new ImageIcon("save.png");
private static JButton Bsalva = new JButton("Salva",ICsalva);
/*public void mouseEntered(MouseEvent e) {
Object obj = e.getSource();
if (obj == button) {
button.setBorder(BorderFactory.createEtchedBorder( ));
}
}
*/
/* public static ActionListener operazioni = new ActionListener () {
public void mouseExited(MouseEvent e) {
String nome = e.getSource();
if(nome=="Salva")
System.out.println("transito");
/*Object obj = e.getSource();
if (obj == button) {
button.setBorder(null);*/
// }
Bsalva.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
}
};
public static void main(String[] arg){
Bprimo.setBackground(Color.LIGHT_GRAY);
BSu.setBackground(Color.LIGHT_GRAY);
BGiu.setBackground(Color.LIGHT_GRAY);
Bvisita.setBackground(Color.LIGHT_GRAY);
Bnuovo.setBackground(Color.LIGHT_GRAY);
Bsalva.setBackground(Color.LIGHT_GRAY);
Pan.setLayout(G0);
Pan.add(Lnumpaz);
Pan.add(Tnumpaz);
Pan.add(Lnompaz);
Pan.add(Tnompaz);
Pan.add(Lcogpaz);
Pan.add(Tcogpaz);
Pan.add(Lcodpaz);
Pan.add(Tcodpaz);
Pan.add(Lnumtot);
Pan.add(Tnumtot);
Bprimo.addActionListener(operazioni);
BSu.addActionListener(operazioni);
BGiu.addActionListener(operazioni);
Bvisita.addActionListener(operazioni);
Bnuovo.addActionListener(operazioni);
Bsalva.addActionListener(operazioni);
Pan.add(Bprimo);
Pan.add(BSu);
Pan.add(BGiu);
Pan.add(Bvisita);
Pan.add(Bnuovo);
Pan.add(Bsalva);
fr.addWindowListener(new GestoreFinestre());
fr.setLocation(0,0);
fr.setSize(270,380);
fr.add(Pan);
fr.setVisible(true);
}
}
(non fate caso al segmento di codice da 32 a 47...stavo provando una cosa)
e praticamente dovrei unirla con questo:
Codice:
package prontosoccorso;
import java.io.*;
import java.util.Vector;
/**
*
* @author concas_em-cantarelli
*/
public class ProntoSoccorso {
private Vector pazienti = new Vector(0);
int rossi = 0,gialli = 0,bianchi = 0;
public void addPaziente(String nominativo, char priorita){
paziente paz = new paziente(nominativo, priorita);
if(priorita == 'R'){
pazienti.insertElementAt(paz, rossi);
rossi++;
}else if(priorita == 'G'){
pazienti.insertElementAt(paz, rossi+gialli);
gialli++;
}else if(priorita == 'B'){
pazienti.insertElementAt(paz, rossi+gialli+bianchi);
bianchi++;
}
}
public paziente recuperoNominativoMaxUrgenza(){
paziente paz = (paziente)pazienti.elementAt(0);
if(paz.getPriorita() == 'R'){
rossi--;
}else if(paz.getPriorita() == 'G'){
gialli--;
}else if(paz.getPriorita() == 'B'){
bianchi--;
}
pazienti.removeElementAt(0);
return paz;
}
public void numPazienti(){
System.out.println(rossi + " " + gialli + " " + bianchi);
}
public void eliminaPaziente(String nominativo){
for(int i = 0; i < pazienti.size(); i++){
paziente paz = (paziente)pazienti.elementAt(i);
if(paz.getNominativo() == nominativo){
pazienti.removeElementAt(i);
break;
}
}
}
public void vediLista(){
for(int i = 0; i < pazienti.size(); i++){
System.out.println(pazienti.elementAt(i).toString());
}
}
public void salva() throws java.io.IOException{
ObjectOutputStream stream = new ObjectOutputStream(new FileOutputStream("pazienti.bin"));
stream.writeObject(pazienti);
stream.writeObject(rossi);
stream.writeObject(gialli);
stream.writeObject(bianchi);
stream.close();
}
public void carica() throws java.io.IOException{
ObjectInputStream stream = new ObjectInputStream(new FileInputStream("pazienti.bin"));
try{
pazienti = (Vector)stream.readObject();
rossi = (int)stream.readObject();
gialli = (int)stream.readObject();
bianchi = (int)stream.readObject();
}
catch(Exception ex){
}
stream.close();
}
public static void main(String[] args) throws java.io.IOException{
int opz = 0;
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader Tastiera = new BufferedReader(input);
ProntoSoccorso osp = new ProntoSoccorso();
while(opz != 8){
System.out.println("1) Inserisci");
System.out.println("2) Recupero urgenza massima");
System.out.println("3) Numero Pazienti");
System.out.println("4) Elimina Paziente");
System.out.println("5) Visualizza");
System.out.println("6) Salva");
System.out.println("7) Carica");
System.out.println("8) Esci");
try{
opz = Integer.parseInt(Tastiera.readLine());
}
catch(IOException exception) {
System.out.print("Errore lettura intero");
}
switch(opz){
case 1:
String nome;
char priorita;
System.out.println();
System.out.println();
System.out.println("Inserisci");
nome = Tastiera.readLine();
priorita = Tastiera.readLine().charAt(0);
if(nome != ""){
osp.addPaziente(nome, priorita);
}else{
System.out.println("Un campo è vuoto.");
}
System.out.println();
break;
case 2:
try{
paziente paz = osp.recuperoNominativoMaxUrgenza();
System.out.println("Prossimo paziente: " + paz.getNominativo());
}
catch(Exception ex){
System.out.println("Lista finita.");
}
break;
case 3:
osp.numPazienti();
break;
case 4:
String nome2;
nome2 = Tastiera.readLine();
osp.eliminaPaziente(nome2);
break;
case 5:
osp.vediLista();
break;
case 6:
osp.salva();
break;
case 7:
osp.carica();
break;
}
}
qui invece c'è la classe paziente (con get e set di nome, cognome ecc)
Codice:
public class Pazienti{
private String Nome;
private String Cognome;
private String Codice;
public Pazienti(String Nome,String Cognome,String Codice){
this.Nome=Nome;
this.Cognome=Cognome;
this.Codice=Codice;
}
public String getNome(){
return Nome;
}
public void setNome(String Nom){
Nome=Nom;
}
public String getCognome(){
return Cognome;
}
public void setCognome(String Cogn){
Cognome=Cogn;
}
public String getCodice(){
return Codice;
}
public void setCodice(String Cod){
Codice=Cod;
}
public String tostring(){
String Stringa=" ";
Stringa=Stringa+ Nome + Cognome + Codice;
return Stringa;
}
}
Potete aiutarmi?
Sono arrivato a questo punto...e ora non so come uscirne fuori.
Sopratutto nella parte della gestione dei pulsanti...