import javax.swing.*; import java.awt.*; import java.awt.event.*; /* klassen er en abstrakt superklasse til de andre legemidlene lagrer id, pris, navn og virkestoff */ abstract class Legemiddel implements Tegnbar{ static private int idNummer = 1; static private void okID() { idNummer++; } protected int id; protected int pris; protected double virkestoff; protected String navn; public Legemiddel(String navnet, int pr, double virk) { id = idNummer; okID(); navn = navnet; pris = pr; virkestoff = virk; } public String hentNavn() { return navn; } public int hentId() { return id; } public double hentPris() { return pris; } public double hentVirkestoff() { return virkestoff; } //endrer prisen public void settNyPris(int nyPris) { pris = nyPris; } //skriver ut alt av info som er lagret @Override public String toString() { return "ID: " + id + "\n" + "pris: " + pris + "\n" + "virkestoff: " + virkestoff; } @Override public JPanel toGui(){ JPanel meg = new JPanel(); JLabel navn = new JLabel(hentNavn()); meg.add(navn); JLabel pris = new JLabel("" + hentPris()); meg.add(pris); class NyPrisKnapp extends JButton{ JLabel pris; public NyPrisKnapp(String tekst, JLabel pris){ super(tekst); this.pris = pris; } class KlikketPaa implements ActionListener{ @Override public void actionPerformed(ActionEvent e){ settNyPris(50); pris.setText("" + hentPris()); } } public void initGui(){ addActionListener(new KlikketPaa()); } } NyPrisKnapp knapp = new NyPrisKnapp("Sett ny pris", pris); knapp.initGui(); meg.add(knapp); return meg; } }