/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package lift; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; /** * * @author s1001191 */ public class Liftmain extends JFrame implements ActionListener{ private JPanel totaal; private Tekenpaneel tekenpaneel; private JPanel knoppenpaneel; private Lift lift; private JButton up; private JButton down; private JTextField verdieping; private JLabel ganaar; private JTextField naarverdieping; private JButton ok; protected Tekenpaneel tekening; public Liftmain(){ knoppenpaneel = new JPanel(); up = new JButton("up"); down = new JButton("down"); verdieping = new JTextField(6); ganaar = new JLabel("ga naar: "); naarverdieping = new JTextField(6); ok = new JButton("OK"); verdieping.setText("0"); verdieping.setEditable(false); up.addActionListener(this); down.addActionListener(this); ok.addActionListener(this); knoppenpaneel.add(up); knoppenpaneel.add(down); knoppenpaneel.add(verdieping); knoppenpaneel.add(ganaar); knoppenpaneel.add(naarverdieping); knoppenpaneel.add(ok); lift = new Lift(); totaal = new JPanel(new BorderLayout()); tekenpaneel = new Tekenpaneel(lift); totaal.add(knoppenpaneel, BorderLayout.NORTH); totaal.add(tekenpaneel, BorderLayout.CENTER); setContentPane(totaal); } public void actionPerformed(ActionEvent e) { if (e.getSource() == up){ lift.up(); int waarbenje = lift.verdieping(); verdieping.setText(waarbenje+""); totaal.repaint(); } if (e.getSource() == down){ lift.down(); int waarbenje = lift.verdieping(); verdieping.setText(waarbenje+""); totaal.repaint(); } if (e.getSource() == ok){ try{ int opVerdieping = Integer.parseInt(naarverdieping.getText()); if ( opVerdieping >= 0 && opVerdieping < 6){ lift.gaNaar(opVerdieping); verdieping.setText(opVerdieping+""); totaal.repaint(); } } catch(NumberFormatException nf) { JOptionPane.showMessageDialog(totaal, nf.getMessage(), "Ongeldige invoer", JOptionPane.ERROR_MESSAGE); } } } } /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package lift; import java.awt.Color; import java.awt.Graphics; import javax.swing.JPanel; /** * * @author s1001191 */ public class Tekenpaneel extends JPanel { private int h1 = 20; private int h2 = 280; private int b1 = 20; private int b2 = 20; private Lift lift; public Tekenpaneel(Lift lift){ this.lift = lift; } @Override public void paintComponent(Graphics g){ super.paintComponent(g); setBackground( Color.WHITE ); g.drawLine(20, 100, 20, 300); g.drawLine(20, 300, 140, 300); g.fillRect(h1, lift.getY(), b1, b2); } public void pasAan(int h1, int h2, int b1, int b2){ this.h1 = h1; this.h2 = h2; this.b1 = b1; this.b2 = b2; } } /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package lift; /** * * @author s1001191 */ public class Lift{ private int etages; private int locatie; private int geefterug; public Lift(){ etages = 5; locatie = 0; geefterug = 280; } public int up(){ if (etages > locatie) { locatie++; } return locatie; } public int down(){ if (locatie > 0){ locatie--; } return locatie; } public int verdieping(){ return locatie; } public void gaNaar(int gaNaar){ locatie = gaNaar; } public int getY(){ if (locatie == 0){ geefterug = 280; } if (locatie == 1){ geefterug = 260; } if (locatie == 2){ geefterug = 240; } if (locatie == 3){ geefterug = 220; } if (locatie == 4){ geefterug = 200; } if (locatie == 5){ geefterug = 180; } return geefterug; } } /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package lift; import javax.swing.JFrame; /** * * @author s1001191 */ public class Main { public static void main(String[] args) { Liftmain frame = new Liftmain(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 400); frame.setVisible(true); frame.setTitle("LiftApplicatie"); } }