import javax.swing.JLabel; import javax.swing.JPanel; /* klassen er en abstrakt superklasse til de andre reseptklassene lagrer en peker til legemiddel og lege. Lagrer og reit, pasiendID og id p? resepten */ abstract class Resept implements Tegnbar{ static private int idNummer = 1; static private void okID() { idNummer++; } protected Legemiddel legemiddel; protected Lege utskrivendeLege; protected int reit; protected int pasientId; protected int id; public Resept(Legemiddel middel, Lege lege, int pId, int reit1) { id = idNummer; okID(); legemiddel = middel; utskrivendeLege =lege; reit = reit1; pasientId = pId; } public int hentId() { return id; } public Legemiddel hentLegemiddel() { return legemiddel; } public Lege hentLege () { return utskrivendeLege; } public int hentReit () { return reit; } //returnerer true hvis resepten ikke er brukt opp public boolean bruk() { if (reit > 0) { return true; } else { return false; } } abstract public String farge(); abstract public double prisAaBetale(); public String toString() { return String.format("Farge: %s \nID: %d \nPasient ID: %d \nLegemiddel: %s \nUtskrivende lege: %s \nReit: %d \nPris ? betale: %.2f", farge(), id, pasientId, legemiddel.hentNavn(), utskrivendeLege.hentNavn(), reit, prisAaBetale()); } @Override public JPanel toGui(){ JPanel meg = new JPanel(); Legemiddel legemiddel = hentLegemiddel(); JLabel navn = new JLabel("Resept p? "+ legemiddel.hentNavn()); JLabel pris = new JLabel("Pris: "+ prisAaBetale()); meg.add(navn); meg.add(pris); return meg; } }