Merge banan dev

This commit is contained in:
Yorick
2015-04-08 21:37:48 +02:00
5 changed files with 125 additions and 22 deletions
+100
View File
@@ -0,0 +1,100 @@
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;
public class AddPeoplePanel extends JFrame {
public AddPeoplePanel(Panel topPanel) {
super("Adding people");
setDefaultCloseOperation(HIDE_ON_CLOSE);
setResizable(false);
JPanel mainPanel = new JPanel(new BorderLayout());
JLabel label;
JButton button;
//Top:
JPanel panel = new JPanel();
label = new JLabel("Enter the amount of people you want to add: ");
panel.add(label);
mainPanel.add(panel,BorderLayout.NORTH);
//Center:
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);
mainPanel.add(panel,BorderLayout.CENTER);
//Bottom:
panel = new JPanel();
button = new JButton("Cancel");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
AddPeoplePanel.this.dispose();
}
});
panel.add(button);
button = new JButton("Apply");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
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);
mainPanel.add(panel,BorderLayout.SOUTH);
add(mainPanel);
//Finishing off
pack();
setSize(290,150);
setLocationRelativeTo(null);
setVisible(true);
}
}
+7 -3
View File
@@ -19,13 +19,16 @@ public class ControlPanel extends JPanel
private static final long serialVersionUID = 6805244250902524351L;
private Panel p;
private int people;
JLabel timeLabel;
JLabel peopleLabel;
public ControlPanel()
{
super();
BoxLayout box = new BoxLayout(this, BoxLayout.X_AXIS);
setLayout(box);
people = 0;
setPreferredSize(new Dimension(0,50));
setBorder(BorderFactory.createLineBorder(new Color(180, 180, 180)));
@@ -105,7 +108,7 @@ public class ControlPanel extends JPanel
peoplePanel.setMaximumSize(new Dimension(285,50));
add(peoplePanel);
{
JLabel peopleLabel = new JLabel("0/0 People");
peopleLabel = new JLabel(people + " People");
peopleLabel.setFont(new Font("Segoe UI", Font.PLAIN, 20));
peoplePanel.add(peopleLabel);
@@ -115,7 +118,7 @@ public class ControlPanel extends JPanel
peopleButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
p.addVisitors();
new AddPeoplePanel(p);
}
});
peoplePanel.add(peopleButton);
@@ -147,6 +150,7 @@ public class ControlPanel extends JPanel
public void setPeople(int people)
{
this.people = people;
peopleLabel.setText(people + " People");
}
}
+17 -14
View File
@@ -229,7 +229,16 @@ public class Panel extends JPanel implements ActionListener
return waypoints;
}
public void addVisitors()
public void addVisitors(ArrayList<DrawObject> entrances)
{
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));
}
public void addVisitors(int count)
{
ArrayList<DrawObject> entrances = new ArrayList<>();
for(DrawObject object : objects) {
@@ -238,21 +247,14 @@ public class Panel extends JPanel implements ActionListener
}
}
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));
for (int i = 0; i < count; i++)
{
addVisitors(entrances);
}
}
else {
else
JOptionPane.showMessageDialog(this, "You don't have an entrance");
}
}
public void addVisitors(int count)
{
for (int i = 0; i < count; i++)
{
addVisitors();
}
cp.setPeople(visitors.size());
}
public void paintComponent(Graphics g)
@@ -668,6 +670,7 @@ public class Panel extends JPanel implements ActionListener
this.height = height;
paths.clear();
objects.clear();
visitors.clear();
cameraScale = 1;
switch (terrainIndex)
{
-2
View File
@@ -94,7 +94,6 @@ public class Visitor
}
}
// moveToTarget(target, objects, visitors, paths);
move(target, panel);
}
@@ -177,7 +176,6 @@ public class Visitor
}
}
}
}
public boolean checkIfOnWaypoint(Panel panel)
+1 -3
View File
@@ -4,7 +4,6 @@ import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import javax.swing.SwingUtilities;
@@ -16,7 +15,6 @@ import Applicatie.Waypoint;
import Applicatie.WaypointPopup;
import Objects.DrawObject;
import Objects.Path;
import Objects.Entrance;
public class Mouse extends MouseAdapter
{
@@ -130,7 +128,7 @@ public class Mouse extends MouseAdapter
{
if (SwingUtilities.isRightMouseButton(e))
{
new PathPopup(clickedPath, panel);
//new PathPopup(clickedPath, panel);
}
}
else