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 static final long serialVersionUID = 6805244250902524351L;
private Panel p; private Panel p;
private int people;
JLabel timeLabel; JLabel timeLabel;
JLabel peopleLabel;
public ControlPanel() public ControlPanel()
{ {
super(); super();
BoxLayout box = new BoxLayout(this, BoxLayout.X_AXIS); BoxLayout box = new BoxLayout(this, BoxLayout.X_AXIS);
setLayout(box); setLayout(box);
people = 0;
setPreferredSize(new Dimension(0,50)); setPreferredSize(new Dimension(0,50));
setBorder(BorderFactory.createLineBorder(new Color(180, 180, 180))); setBorder(BorderFactory.createLineBorder(new Color(180, 180, 180)));
@@ -105,7 +108,7 @@ public class ControlPanel extends JPanel
peoplePanel.setMaximumSize(new Dimension(285,50)); peoplePanel.setMaximumSize(new Dimension(285,50));
add(peoplePanel); add(peoplePanel);
{ {
JLabel peopleLabel = new JLabel("0/0 People"); peopleLabel = new JLabel(people + " People");
peopleLabel.setFont(new Font("Segoe UI", Font.PLAIN, 20)); peopleLabel.setFont(new Font("Segoe UI", Font.PLAIN, 20));
peoplePanel.add(peopleLabel); peoplePanel.add(peopleLabel);
@@ -115,7 +118,7 @@ public class ControlPanel extends JPanel
peopleButton.addActionListener(new ActionListener(){ peopleButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) public void actionPerformed(ActionEvent e)
{ {
p.addVisitors(); new AddPeoplePanel(p);
} }
}); });
peoplePanel.add(peopleButton); peoplePanel.add(peopleButton);
@@ -147,6 +150,7 @@ public class ControlPanel extends JPanel
public void setPeople(int people) 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; 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<>(); ArrayList<DrawObject> entrances = new ArrayList<>();
for(DrawObject object : objects) { for(DrawObject object : objects) {
@@ -238,21 +247,14 @@ public class Panel extends JPanel implements ActionListener
} }
} }
if(!entrances.isEmpty()) { if(!entrances.isEmpty()) {
DrawObject entrance = entrances.get((int) Math.floor(Math.random()*entrances.size())); for (int i = 0; i < count; i++)
Point point = new Point((int)entrance.getPosition().getX(),(int)entrance.getPosition().getY()); {
visitors.add(new Visitor("visitor",point, agenda, objects, waypoints, date)); addVisitors(entrances);
}
} }
else { else
JOptionPane.showMessageDialog(this, "You don't have an entrance"); JOptionPane.showMessageDialog(this, "You don't have an entrance");
} cp.setPeople(visitors.size());
}
public void addVisitors(int count)
{
for (int i = 0; i < count; i++)
{
addVisitors();
}
} }
public void paintComponent(Graphics g) public void paintComponent(Graphics g)
@@ -668,6 +670,7 @@ public class Panel extends JPanel implements ActionListener
this.height = height; this.height = height;
paths.clear(); paths.clear();
objects.clear(); objects.clear();
visitors.clear();
cameraScale = 1; cameraScale = 1;
switch (terrainIndex) switch (terrainIndex)
{ {
-2
View File
@@ -94,7 +94,6 @@ public class Visitor
} }
} }
// moveToTarget(target, objects, visitors, paths); // moveToTarget(target, objects, visitors, paths);
move(target, panel); move(target, panel);
} }
@@ -177,7 +176,6 @@ public class Visitor
} }
} }
} }
} }
public boolean checkIfOnWaypoint(Panel panel) 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.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
@@ -16,7 +15,6 @@ import Applicatie.Waypoint;
import Applicatie.WaypointPopup; import Applicatie.WaypointPopup;
import Objects.DrawObject; import Objects.DrawObject;
import Objects.Path; import Objects.Path;
import Objects.Entrance;
public class Mouse extends MouseAdapter public class Mouse extends MouseAdapter
{ {
@@ -130,7 +128,7 @@ public class Mouse extends MouseAdapter
{ {
if (SwingUtilities.isRightMouseButton(e)) if (SwingUtilities.isRightMouseButton(e))
{ {
new PathPopup(clickedPath, panel); //new PathPopup(clickedPath, panel);
} }
} }
else else