//oefening 4.6
import javax.swing.*;
import java.awt.Color;
import java.awt.event.*;
// Het paneel
class Paneel extends JPanel {
private JTextField invoerVak;
private JTextField subtotaalVak, BTWVak, exBTWVak, totaalVak;
private JLabel invoerLabel, subtotaalLabel, BTWLabel, exBTWLabel, totaalLabel;
private JButton totaalKnop, resetKnop;
private Kassa kassa;
public Paneel()
{
setLayout( null );
//maak kassa
kassa = new Kassa();
//maak knop
totaalKnop = new JButton ("Totaal");
KnopHandler1 kh1 = new KnopHandler1();
totaalKnop.addActionListener(kh1);
resetKnop = new JButton ("Reset");
KnopHandler2 kh2 = new KnopHandler2();
resetKnop.addActionListener(kh2);
// Maak de tekstvakken
invoerVak = new JTextField( 10 );
invoerVak.setHorizontalAlignment( JTextField.RIGHT );
invoerVak.addActionListener( new KnopHandler1() );
subtotaalVak = new JTextField( 10 );
subtotaalVak.setHorizontalAlignment( JTextField.RIGHT );
subtotaalVak.addActionListener( new KnopHandler1() );
subtotaalVak.setBackground( Color.LIGHT_GRAY );
BTWVak = new JTextField( 10 );
BTWVak.setHorizontalAlignment( JTextField.RIGHT );
BTWVak.addActionListener( new KnopHandler1() );
BTWVak.setBackground( Color.LIGHT_GRAY );
exBTWVak = new JTextField( 10 );
exBTWVak.setHorizontalAlignment( JTextField.RIGHT );
exBTWVak.addActionListener( new KnopHandler1() );
exBTWVak.setBackground( Color.LIGHT_GRAY );
totaalVak = new JTextField( 10 );
totaalVak.setHorizontalAlignment( JTextField.RIGHT );
totaalVak.addActionListener( new KnopHandler1() );
totaalVak.setBackground( Color.GREEN );
// Maak de labels
invoerLabel = new JLabel( "voer bedrag in" );
subtotaalLabel = new JLabel("Subtotaal");
BTWLabel = new JLabel ("BTW");
exBTWLabel = new JLabel ("Totaal ex BTW");
totaalLabel = new JLabel ("Totaal");
// Bepaal van alle componenten de plaats en afmeting
invoerVak.setBounds ( 100,50,120,20 );
subtotaalVak.setBounds ( 100,80,120,20 );
BTWVak.setBounds ( 100,110,120,20 );
exBTWVak.setBounds ( 100,140,120,20 );
totaalVak.setBounds ( 100,170,120,20 );
totaalKnop.setBounds ( 230,50,100,20 );
resetKnop.setBounds ( 230,80,100,20 );
invoerLabel.setBounds ( 10,50,120,20 );
subtotaalLabel.setBounds ( 10,80,120,20 );
BTWLabel.setBounds ( 10,110,120,20 );
exBTWLabel.setBounds ( 10,140,120,20 );
totaalLabel.setBounds ( 10,170,120,20 );
// Voeg de componenten toe aan het paneel
add (invoerVak);
add (subtotaalVak);
add (BTWVak);
add (exBTWVak);
add (totaalVak);
add (totaalKnop);
add (resetKnop);
add (invoerLabel);
add (subtotaalLabel);
add (BTWLabel);
add (exBTWLabel);
add (totaalLabel);
}
// -------------------------------------------------------------------------------------
//KNOPHANDLERS
class KnopHandler1 implements ActionListener
{
public void actionPerformed( ActionEvent e )
{
String invoer = invoerVak.getText();
double invoerBedrag = Double.parseDouble (invoer);
//hiermee stop je het bedrag in het kassasysteem.
kassa.telOp (invoerBedrag);
kassa.berekenBTW();
kassa.berekenSubtotaalExBTW();
kassa.totaal = (kassa.getSubtotaal + kassa.berekenBTW);
//
}
}
class KnopHandler2 implements ActionListener
{
public void actionPerformed( ActionEvent e )
{
kassa.reset();
}
}
}