import javax.swing.*; import java.awt.*; import java.awt.event.*; public class KontokontrolApplet extends JApplet { Kontomodel jacobsKonto = new Kontomodel("Jacob"); Kontomodel briansKonto = new Kontomodel("Brian"); KontovisningPanel panelJacob = new KontovisningPanel(); KontovisningPanel panelBrian = new KontovisningPanel(); KontovisningPanel panelJacobAndenVisning = new KontovisningPanel(); JButton buttonJtilB50kr = new JButton(); JButton buttonJ20krind = new JButton(); JButton buttonB30krud = new JButton(); public void init() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } panelJacob.setModel(jacobsKonto); // panelJacob lytter på jacobsKonto panelJacobAndenVisning.setModel(jacobsKonto); // ditto panelBrian.setModel(briansKonto); // panelBrian lytter på briansKonto new KontovisningTekst(jacobsKonto); // tekstvisning på jacobsKonto new KontovisningTekst(briansKonto); // tekstvisning på briansKonto JFrame f = new JFrame("Brian"); // lav også separat vindue til Brian KontovisningPanel panelBrianAndenVisning = new KontovisningPanel(); panelBrianAndenVisning.setModel(briansKonto); f.getContentPane().add(panelBrianAndenVisning); f.setSize(150,100); f.validate(); f.setVisible(true); } private void jbInit() throws Exception { this.getContentPane().setLayout(null); panelJacob.setBounds(new Rectangle(0, 0, 139, 102)); panelBrian.setBounds(new Rectangle(250, 0, 150, 101)); panelJacobAndenVisning.setBounds(new Rectangle(130, 105, 140, 84)); buttonJtilB50kr.setText("50 kr ->"); buttonJtilB50kr.setBounds(new Rectangle(140, 33, 100, 25)); // når der affyres en hændelse fra buttonJtilB50kr, så kald // metoden buttonJtilB50kr_actionPerformed, defineret nedenfor buttonJtilB50kr.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { buttonJtilB50kr_actionPerformed(e); } }); buttonJ20krind.setText("Indsæt 20 kr"); buttonJ20krind.setBounds(new Rectangle(6, 104, 124, 25)); buttonJ20krind.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { buttonJ20krind_actionPerformed(e); } }); buttonB30krud.setText("Hæv 30 kr"); buttonB30krud.setBounds(new Rectangle(272, 105, 124, 25)); buttonB30krud.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { buttonB30krud_actionPerformed(e); } }); this.getContentPane().add(panelBrian, null); this.getContentPane().add(panelJacob, null); this.getContentPane().add(buttonJtilB50kr, null); this.getContentPane().add(buttonJ20krind, null); this.getContentPane().add(buttonB30krud, null); this.getContentPane().add(panelJacobAndenVisning, null); } // kontroldelen af programmet - ændr i modellen efter brugerens handlinger void buttonJ20krind_actionPerformed(ActionEvent e) { jacobsKonto.indsæt(20); } void buttonB30krud_actionPerformed(ActionEvent e) { briansKonto.hæv(30); } void buttonJtilB50kr_actionPerformed(ActionEvent e) { jacobsKonto.overfør(briansKonto,50); } }