From 4c11d4ad2f0a30916c37ef6f2e758f9cffb579e2 Mon Sep 17 00:00:00 2001 From: Wesley Date: Wed, 8 Apr 2015 21:25:08 +0200 Subject: [PATCH] fixed stuff lol --- Applicatie/AddPeoplePanel.java | 35 ++++++++++++++++++++++++++++++++-- Applicatie/Panel.java | 17 +++++++++-------- 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/Applicatie/AddPeoplePanel.java b/Applicatie/AddPeoplePanel.java index 077a0d7..cac4adb 100644 --- a/Applicatie/AddPeoplePanel.java +++ b/Applicatie/AddPeoplePanel.java @@ -1,13 +1,17 @@ package Applicatie; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; +import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; @@ -31,6 +35,29 @@ public class AddPeoplePanel extends JFrame { panel = new JPanel(); JTextField amountOfPeopleField = new JTextField("0"); amountOfPeopleField.setPreferredSize(new Dimension(100,20)); + amountOfPeopleField.addKeyListener(new KeyListener() { + + @Override + public void keyTyped(KeyEvent e) { + } + + @Override + public void keyReleased(KeyEvent e) { + try { + amountOfPeopleField.setBackground(Color.WHITE); + int amountOfPeople = Integer.parseInt(amountOfPeopleField.getText()); + amountOfPeopleField.setText(amountOfPeople + ""); + } + catch(NumberFormatException nf) { + amountOfPeopleField.setBackground(Color.RED); + } + } + + @Override + public void keyPressed(KeyEvent e) { + } + }); + label = new JLabel("people "); panel.add(amountOfPeopleField); panel.add(label); @@ -51,8 +78,12 @@ public class AddPeoplePanel extends JFrame { @Override public void actionPerformed(ActionEvent e) { - topPanel.addVisitors(Integer.parseInt(amountOfPeopleField.getText())); - AddPeoplePanel.this.dispose(); + if(amountOfPeopleField.getBackground() != Color.RED) { + topPanel.addVisitors(Integer.parseInt(amountOfPeopleField.getText())); + AddPeoplePanel.this.dispose(); + } + else + JOptionPane.showMessageDialog(topPanel, "Only numbers are accepted"); } }); panel.add(button); diff --git a/Applicatie/Panel.java b/Applicatie/Panel.java index 79a355a..86e62e9 100644 --- a/Applicatie/Panel.java +++ b/Applicatie/Panel.java @@ -231,14 +231,11 @@ public class Panel extends JPanel implements ActionListener public void addVisitors(ArrayList entrances) { - if(!entrances.isEmpty()) { + DrawObject entrance = entrances.get((int) Math.floor(Math.random()*entrances.size())); Point point = new Point((int)entrance.getPosition().getX(),(int)entrance.getPosition().getY()); visitors.add(new Visitor("visitor",point, agenda, objects, waypoints, date)); - } - else { - JOptionPane.showMessageDialog(this, "You don't have an entrance"); - } + } public void addVisitors(int count) @@ -249,10 +246,14 @@ public class Panel extends JPanel implements ActionListener entrances.add(object); } } - for (int i = 0; i < count; i++) - { - addVisitors(entrances); + if(!entrances.isEmpty()) { + for (int i = 0; i < count; i++) + { + addVisitors(entrances); + } } + else + JOptionPane.showMessageDialog(this, "You don't have an entrance"); cp.setPeople(visitors.size()); }