53 Commits
Author SHA1 Message Date
Yorick 719d58aae9 done 2015-04-09 01:55:12 +02:00
Yorick 4897a9440b ohgodwhy 2015-04-09 01:30:38 +02:00
Yorick 2e947589be merge 2015-04-09 00:56:42 +02:00
Remco a6f32b5739 Editing disabled while running simulator 2015-04-09 00:51:18 +02:00
Yorick 6178311c4b Merge remote-tracking branch 'origin/kenneth' into develop 2015-04-09 00:35:30 +02:00
Yorick 920fd8117e KUT 2015-04-09 00:33:18 +02:00
kennyboy55 8a92a7a571 Added Stages to save file.
Remove selection from save.
2015-04-08 22:42:40 +02:00
kennyboy55 1563368bf8 removed pause button 2015-04-08 22:06:50 +02:00
kennyboy55 eab4aedc1d Added text to button actions 2015-04-08 21:53:18 +02:00
Yorick be53c1f138 kaas kenneth 2015-04-08 21:47:12 +02:00
Yorick a7d811f956 Merge remote-tracking branch 'origin/kenneth' into develop 2015-04-08 21:46:42 +02:00
Yorick f2f0b36d0e Load waypoints from filez 2015-04-08 21:45:27 +02:00
kennyboy55 04fa453e49 Added agenda stuff 2015-04-08 21:45:03 +02:00
Remco 9d88f92a98 Deleted useless exclamation points 2015-04-08 21:38:04 +02:00
Yorick d3e9b578eb Merge banan dev 2015-04-08 21:37:48 +02:00
Yorick 8ba874bec6 visitors kinda working? 2015-04-08 21:29:17 +02:00
Wesley 4c11d4ad2f fixed stuff
lol
2015-04-08 21:25:08 +02:00
guusvdongen 911714f9b5 Update Visitor.java 2015-04-08 21:15:45 +02:00
Wesley 77dae9741e added addPeoplePanel 2015-04-08 21:07:59 +02:00
Yorick 19f48ad3e9 Merge remote-tracking branch 'origin/kenneth' into develop 2015-04-08 21:03:46 +02:00
Yorick 26265b5a3e Waypoint move 2015-04-08 21:03:29 +02:00
kennyboy55 457da54a5c Fixed agenda module sync 2015-04-08 21:01:13 +02:00
kennyboy55 c3973cc4e4 Fixed stuff 2015-04-08 20:57:06 +02:00
kennyboy55 d0baf5673f Merge branch 'kenneth' of https://github.com/ProjectgroepA4/FestivalPlanner into kenneth
Conflicts:
	Applicatie/Panel.java
	Applicatie/Visitor.java
	Applicatie/WaypointPopup.java
	Listeners/Mouse.java
2015-04-08 20:55:44 +02:00
Yorick 8167fec369 WOOOOOOOOOOOOOOOOOOOO 2015-04-08 20:31:18 +02:00
unknown 254167ba15 print out line op 2015-04-08 17:40:22 +02:00
Yorick bdcc40f00f Merge branch 'develop' of https://github.com/ProjectgroepA4/FestivalPlanner into develop 2015-04-08 17:32:28 +02:00
Yorick d0c0b16585 kaas 2015-04-08 17:32:10 +02:00
Remco 6f265063b4 Edited Waypointpopup 2015-04-08 17:31:06 +02:00
unknown b8a7d9c02d change 2015-04-08 17:24:29 +02:00
Yorick 89036d27af Actions is nul wtf 2015-04-08 17:17:53 +02:00
Yorick b5cf44b44c woo 2015-04-08 16:46:02 +02:00
kennyboy55 7a6bca5ed3 Merge branch 'kenneth' of https://github.com/ProjectgroepA4/FestivalPlanner into kenneth 2015-04-08 16:39:23 +02:00
kennyboy55 9d853babdc Combined Agenda 2015-04-08 16:38:55 +02:00
unknown 69c05da3fd laatste versie 2015-04-08 15:56:46 +02:00
kennyboy55 b50c4d2c33 Objects can no longer move outside field 2015-04-08 13:51:01 +02:00
kennyboy55 a360286c48 Stuff 2015-04-08 13:16:12 +02:00
unknown c2cb07cf3e ok 2015-04-08 13:11:16 +02:00
unknown 90ca17e28a ok 2015-04-08 12:13:39 +02:00
unknown c29ccec789 ok 2015-04-07 14:58:47 +02:00
unknown 0535d98427 ok 2015-04-07 14:29:24 +02:00
unknown a2110d3e58 ok 2015-04-07 12:36:14 +02:00
unknown d8efbc8616 laatste update 2015-03-26 12:05:33 +01:00
unknown b9d42cd4eb new 2015-03-24 13:47:45 +01:00
unknown ca90d98d9a fix 2015-03-17 12:58:20 +01:00
unknown a3479fc37a fix 2015-03-17 12:35:57 +01:00
unknown 2f53d1353f added stuff 2015-03-17 12:23:43 +01:00
guusvdongen 87bf6d9295 festivaldemo methodes
Tekenobject & podium moeten Serializable worden.
In tekenobject moet de image variablen een String filepath worden.
Dan kun je moet je voor elke methode in tekenobject waar je die image voor nodig had (Image image = new ImageIcon(filepath).getImage();) doen. Dit komt, omdat een image niet serializable is :(
2015-03-12 18:18:03 +01:00
guusvdongen a89feaaaab Delete selection.png 2015-03-12 18:14:00 +01:00
guusvdongen df02d793eb Delete grass.jpg 2015-03-12 18:13:42 +01:00
guusvdongen a00ccbe085 Delete commons-lang3-3.3.2.jar 2015-03-12 18:13:27 +01:00
guusvdongen 835d126d80 Delete README.md 2015-03-12 18:13:22 +01:00
guusvdongen dd7893375e Agenda load/save fix 2015-03-12 18:12:25 +01:00
29 changed files with 555 additions and 309 deletions
+17 -1
View File
@@ -51,7 +51,20 @@ public class Agenda implements Serializable {
{ {
return stages; return stages;
} }
public ArrayList<Event> eventsForStage(AgendaStage st)
{
ArrayList<Event> stageEvents = new ArrayList<Event>();
for(Event e: events)
{
if(e.getStage() == st)
{
stageEvents.add(e);
}
}
return stageEvents;
}
/*
public void saveAgenda() public void saveAgenda()
{ {
JFileChooser fileChooser = new JFileChooser(); JFileChooser fileChooser = new JFileChooser();
@@ -179,7 +192,7 @@ public class Agenda implements Serializable {
{ {
boolean exists = false; boolean exists = false;
String name = e.getStage().getName(); String name = e.getStage().getName();
for (AgendaStage s : stages) for (Stage s : stages)
{ {
if ( s.getName().equals(name) ) { if ( s.getName().equals(name) ) {
exists = true; exists = true;
@@ -203,6 +216,7 @@ public class Agenda implements Serializable {
e.printStackTrace(); e.printStackTrace();
} }
} }
*/
public void clearAgenda() public void clearAgenda()
{ {
@@ -211,10 +225,12 @@ public class Agenda implements Serializable {
artists.clear(); artists.clear();
} }
/*
public void fillAllLists() public void fillAllLists()
{ {
loadAgenda(); loadAgenda();
fillStages(); fillStages();
fillArtists(); fillArtists();
} }
*/
} }
+1 -1
View File
@@ -19,7 +19,7 @@ public class EditArtistPanel extends JFrame {
public EditArtistPanel(Agenda agenda, Artist art, TabbedPane tab) public EditArtistPanel(Agenda agenda, Artist art, TabbedPane tab)
{ {
super("Artist editscreen!"); super("Artist editscreen");
setDefaultCloseOperation(HIDE_ON_CLOSE); setDefaultCloseOperation(HIDE_ON_CLOSE);
JPanel content = new JPanel(new BorderLayout()); JPanel content = new JPanel(new BorderLayout());
JPanel south = new JPanel(new FlowLayout()); JPanel south = new JPanel(new FlowLayout());
+1 -1
View File
@@ -24,7 +24,7 @@ public class EditEventPanel extends JFrame{
public EditEventPanel(Agenda agenda, Event e, TabbedPane tab) public EditEventPanel(Agenda agenda, Event e, TabbedPane tab)
{ {
super("Event editscreen!"); super("Event editscreen");
setDefaultCloseOperation(HIDE_ON_CLOSE); setDefaultCloseOperation(HIDE_ON_CLOSE);
JPanel content = new JPanel(new BorderLayout()); JPanel content = new JPanel(new BorderLayout());
JPanel south = new JPanel(new FlowLayout()); JPanel south = new JPanel(new FlowLayout());
+1 -1
View File
@@ -20,7 +20,7 @@ public class EditStagePanel extends JFrame{
public EditStagePanel(Agenda agenda, AgendaStage sta) public EditStagePanel(Agenda agenda, AgendaStage sta)
{ {
super("Stage editscreen!"); super("Stage editscreen");
setDefaultCloseOperation(HIDE_ON_CLOSE); setDefaultCloseOperation(HIDE_ON_CLOSE);
JPanel content = new JPanel(new BorderLayout()); JPanel content = new JPanel(new BorderLayout());
JPanel south = new JPanel(new FlowLayout()); JPanel south = new JPanel(new FlowLayout());
+4 -4
View File
@@ -34,8 +34,8 @@ public class Event implements Serializable {
endHour, endMinute); endHour, endMinute);
this.startHour = startHour; this.startHour = startHour;
this.startMinute = startMinute; this.startMinute = startMinute;
this.stopHour = stopHour; this.stopHour = endHour;
this.stopMinute = stopMinute; this.stopMinute = endMinute;
this.stage = stage; this.stage = stage;
this.artist = artist; this.artist = artist;
this.description = description; this.description = description;
@@ -55,11 +55,11 @@ public class Event implements Serializable {
} }
public int getStart(){ public int getStart(){
return (startHour * 100) + startMinute; return (startHour * 60) + startMinute;
} }
public int getStop(){ public int getStop(){
return (stopHour * 100) + stopMinute; return (stopHour * 60) + stopMinute;
} }
public int getStopHour(){ public int getStopHour(){
+3 -2
View File
@@ -63,7 +63,8 @@ public class MenuBar extends JMenuBar {
open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK)); open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
open.addActionListener(new ActionListener() { open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
w.getAgenda().loadAgenda(); Applicatie.SaveLoad.load(w.getPanel());
w.setAgenda(w.getPanel().getAgenda());
Window.updatePanel(); Window.updatePanel();
} }
}); });
@@ -72,7 +73,7 @@ public class MenuBar extends JMenuBar {
save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK)); save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
save.addActionListener(new ActionListener() { save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
w.getAgenda().saveAgenda(); Applicatie.SaveLoad.save(w.getPanel());
Window.updatePanel(); Window.updatePanel();
} }
}); });
+10 -3
View File
@@ -1,6 +1,5 @@
package Agenda; package Agenda;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
@@ -36,14 +35,16 @@ public class Window extends JFrame {
private static GregorianCalendar date; private static GregorianCalendar date;
private static Agenda agenda; private static Agenda agenda;
private static String currentPanel = "table"; private static String currentPanel = "table";
private Applicatie.Panel ap;
public Window() public Window(Applicatie.Panel ap)
{ {
/* /*
* Initialize window * Initialize window
*/ */
super("Agenda"); super("Agenda");
agenda = new Agenda(); this.ap = ap;
agenda = ap.getAgenda();
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() { addWindowListener(new WindowAdapter() {
@@ -231,6 +232,12 @@ public class Window extends JFrame {
public void setAgenda(Agenda a) public void setAgenda(Agenda a)
{ {
agenda = a; agenda = a;
ap.setAgenda(a);
}
public Applicatie.Panel getPanel()
{
return ap;
} }
+7 -1
View File
@@ -11,13 +11,15 @@ public class Action
private int starttime; private int starttime;
private int duration; private int duration;
private DrawObject target; private DrawObject target;
private Waypoint waypoint;
public Action(Point2D position, int starttime, int duration, DrawObject tar) public Action(Point2D position, int starttime, int duration, DrawObject tar, Waypoint waypoint)
{ {
this.position = position; this.position = position;
this.starttime = starttime; this.starttime = starttime;
this.duration = duration; this.duration = duration;
this.target = tar; this.target = tar;
this.waypoint = waypoint;
} }
public Point2D getPosition() public Point2D getPosition()
@@ -44,4 +46,8 @@ public class Action
{ {
return duration; return duration;
} }
public Waypoint getWaypoint(){
return waypoint;
}
} }
+15 -17
View File
@@ -19,13 +19,17 @@ 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;
JLabel runningLabel;
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)));
@@ -33,8 +37,8 @@ public class ControlPanel extends JPanel
setFocusable(false); setFocusable(false);
JPanel simulatorPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); JPanel simulatorPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
simulatorPanel.setPreferredSize(new Dimension(350,50)); simulatorPanel.setPreferredSize(new Dimension(290,50));
simulatorPanel.setMaximumSize(new Dimension(350,50)); simulatorPanel.setMaximumSize(new Dimension(290,50));
add(simulatorPanel); add(simulatorPanel);
{ {
JLabel simulatorLabel = new JLabel("Simulator: "); JLabel simulatorLabel = new JLabel("Simulator: ");
@@ -48,21 +52,12 @@ public class ControlPanel extends JPanel
public void actionPerformed(ActionEvent e) public void actionPerformed(ActionEvent e)
{ {
p.getT().start(); p.getT().start();
p.setPlay(true);
runningLabel.setText("Simulation Started");
} }
}); });
simulatorPanel.add(playButton); simulatorPanel.add(playButton);
JButton pauseButton = new JButton("Pause");
pauseButton.setFocusable(false);
pauseButton.setFont(new Font("Segoe UI", Font.PLAIN, 20));
pauseButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
p.getT().stop();
}
});
simulatorPanel.add(pauseButton);
JButton stopButton = new JButton("Stop"); JButton stopButton = new JButton("Stop");
stopButton.setFocusable(false); stopButton.setFocusable(false);
stopButton.setFont(new Font("Segoe UI", Font.PLAIN, 20)); stopButton.setFont(new Font("Segoe UI", Font.PLAIN, 20));
@@ -70,6 +65,8 @@ public class ControlPanel extends JPanel
public void actionPerformed(ActionEvent e) public void actionPerformed(ActionEvent e)
{ {
p.getT().stop(); p.getT().stop();
p.setPlay(false);
runningLabel.setText("Simulation Stopped");
} }
}); });
simulatorPanel.add(stopButton); simulatorPanel.add(stopButton);
@@ -105,7 +102,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 +112,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);
@@ -128,7 +125,7 @@ public class ControlPanel extends JPanel
runningPanel.setMaximumSize(new Dimension(195,50)); runningPanel.setMaximumSize(new Dimension(195,50));
add(runningPanel); add(runningPanel);
{ {
JLabel runningLabel = new JLabel("Simulation stopped"); runningLabel = new JLabel("Simulation stopped");
runningLabel.setFont(new Font("Segoe UI", Font.PLAIN, 20)); runningLabel.setFont(new Font("Segoe UI", Font.PLAIN, 20));
runningPanel.add(runningLabel); runningPanel.add(runningLabel);
} }
@@ -147,6 +144,7 @@ public class ControlPanel extends JPanel
public void setPeople(int people) public void setPeople(int people)
{ {
this.people = people;
peopleLabel.setText(people + " People");
} }
} }
-1
View File
@@ -2,7 +2,6 @@ package Applicatie;
public class Main public class Main
{ {
public static void main(String[] args) public static void main(String[] args)
{ {
new Window(); new Window();
+5 -14
View File
@@ -33,11 +33,13 @@ public class MenuBar extends JMenuBar
{ {
public void actionPerformed(ActionEvent e) public void actionPerformed(ActionEvent e)
{ {
new Agenda.Window(); new Agenda.Window(w.getPanel());
} }
}); });
file.add(agenda); file.add(agenda);
file.addSeparator();
item = new JMenuItem("Open"); item = new JMenuItem("Open");
item.addActionListener(new ActionListener() { item.addActionListener(new ActionListener() {
@@ -60,22 +62,12 @@ public class MenuBar extends JMenuBar
file.addSeparator(); file.addSeparator();
item = new JMenuItem("Load agenda");
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
w.getPanel().agenda.loadAgenda();
}
});
file.add(item);
item = new JMenuItem("Agenda"); item = new JMenuItem("Agenda");
item.addActionListener(new ActionListener() item.addActionListener(new ActionListener()
{ {
public void actionPerformed(ActionEvent e) public void actionPerformed(ActionEvent e)
{ {
new Agenda.Window(); new Agenda.Window(w.getPanel());
} }
}); });
file.add(item); file.add(item);
@@ -87,8 +79,7 @@ public class MenuBar extends JMenuBar
{ {
public void actionPerformed(ActionEvent e) public void actionPerformed(ActionEvent e)
{ {
w.setVisible(false); System.exit(0);
w.dispose();
} }
}); });
+20 -15
View File
@@ -149,7 +149,7 @@ public class Panel extends JPanel implements ActionListener
addMouseWheelListener(new MouseWheel(this)); addMouseWheelListener(new MouseWheel(this));
addFocusListener(new WindowFocusListener(this)); addFocusListener(new WindowFocusListener(this));
t = new Timer(1000 / 100, this); t = new Timer(1000 / 5000, this);
} }
public int getPanelInfoLength() public int getPanelInfoLength()
@@ -230,7 +230,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) {
@@ -239,22 +248,15 @@ public class Panel extends JPanel implements ActionListener
} }
} }
if(!entrances.isEmpty()) { 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)
{
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
addVisitors(); addVisitors(entrances);
} }
} }
else
JOptionPane.showMessageDialog(this, "You don't have an entrance");
cp.setPeople(visitors.size());
}
public void paintComponent(Graphics g) public void paintComponent(Graphics g)
{ {
@@ -388,6 +390,9 @@ public class Panel extends JPanel implements ActionListener
public void clearObjects() public void clearObjects()
{ {
objects.clear(); objects.clear();
visitors.clear();
waypoints.clear();
paths.clear();
} }
public Point getLastMousePosition() public Point getLastMousePosition()
@@ -638,7 +643,6 @@ public class Panel extends JPanel implements ActionListener
currentTime++; currentTime++;
date.setTimeInMillis(date.getTimeInMillis() + 1000); date.setTimeInMillis(date.getTimeInMillis() + 1000);
cp.setTime(formatter.format(date.getTime())); cp.setTime(formatter.format(date.getTime()));
System.out.println(currentTime);
} }
for (Visitor v : visitors) for (Visitor v : visitors)
@@ -680,6 +684,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
@@ -1,9 +1,7 @@
package Applicatie; package Applicatie;
import java.awt.BorderLayout;
import java.awt.FlowLayout; import java.awt.FlowLayout;
import java.awt.Font; import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
+40 -6
View File
@@ -11,6 +11,8 @@ import java.awt.event.ActionListener;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.awt.event.KeyListener; import java.awt.event.KeyListener;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.Box; import javax.swing.Box;
@@ -20,8 +22,11 @@ import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
import Agenda.AgendaStage;
import Agenda.Event;
import Objects.DrawObject; import Objects.DrawObject;
import Objects.Path; import Objects.Path;
import Objects.Stage;
@SuppressWarnings("serial") @SuppressWarnings("serial")
public class PropertiesPanel extends JPanel public class PropertiesPanel extends JPanel
@@ -36,6 +41,7 @@ public class PropertiesPanel extends JPanel
JLabel nameLabel; JLabel nameLabel;
JPanel areaPanel; JPanel areaPanel;
JPanel agendaPanel;
Component rigidArea; Component rigidArea;
JTextField locationXField; JTextField locationXField;
@@ -500,12 +506,9 @@ public class PropertiesPanel extends JPanel
add(Box.createRigidArea(spacerDimension)); add(Box.createRigidArea(spacerDimension));
// AGENDA // AGENDA
JPanel agendaPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); agendaPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
JLabel agendaLabel = new JLabel("Agenda"); agendaPanel.setVisible(false);
agendaLabel.setFont(new Font("Segoe UI", Font.ITALIC, 20));
agendaPanel.setPreferredSize(new Dimension(200, 100));
agendaPanel.setMaximumSize(new Dimension(200, 100));
agendaPanel.add(agendaLabel);
add(agendaPanel); add(agendaPanel);
enableComponents(this, false); enableComponents(this, false);
@@ -566,6 +569,9 @@ public class PropertiesPanel extends JPanel
nameLabel.setText("No Selection"); nameLabel.setText("No Selection");
areaPanel.setVisible(false); areaPanel.setVisible(false);
rigidArea.setVisible(false); rigidArea.setVisible(false);
agendaPanel.setVisible(false);
agendaPanel.removeAll();
agendaPanel.validate();
} }
private void fillFields() private void fillFields()
@@ -573,6 +579,10 @@ public class PropertiesPanel extends JPanel
nameLabel.setText(selectedObject.getName()); nameLabel.setText(selectedObject.getName());
agendaPanel.removeAll();
agendaPanel.validate();
agendaPanel.setVisible(false);
locationXField.setText(Math.round(selectedObject.getPosition().getX()) + ""); locationXField.setText(Math.round(selectedObject.getPosition().getX()) + "");
locationYField.setText(Math.round(selectedObject.getPosition().getY()) + ""); locationYField.setText(Math.round(selectedObject.getPosition().getY()) + "");
scaleField.setText((double) Math.round(selectedObject.getScale() * 10) / 10 + ""); scaleField.setText((double) Math.round(selectedObject.getScale() * 10) / 10 + "");
@@ -583,6 +593,30 @@ public class PropertiesPanel extends JPanel
areaLeftField.setText(selectedObject.getAreaLeft() + ""); areaLeftField.setText(selectedObject.getAreaLeft() + "");
areaRightField.setText(selectedObject.getAreaRight() + ""); areaRightField.setText(selectedObject.getAreaRight() + "");
if(selectedObject instanceof Stage)
{
agendaPanel.setVisible(true);
JLabel agendaLabel = new JLabel("Agenda");
agendaLabel.setFont(new Font("Segoe UI", Font.ITALIC, 20));
agendaPanel.add(agendaLabel);
AgendaStage st = ((Stage) selectedObject).getStage();
nameLabel.setText("Stage: " + st.getName());
ArrayList<Event> events = p.getAgenda().eventsForStage(st);
agendaPanel.setPreferredSize(new Dimension(200, ((30*events.size())+50) ));
agendaPanel.setMaximumSize(new Dimension(200, ((30*events.size())+50) ));
for(Event e : events)
{
JPanel eventPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
JLabel eventLabel = new JLabel(e.getEventName() + " - " + e.getArtist().getName());
eventLabel.setFont(new Font("Segoe UI", Font.PLAIN, 15));
eventPanel.setPreferredSize(new Dimension(200, 30));
eventPanel.setMaximumSize(new Dimension(200, 30));
eventPanel.add(eventLabel);
agendaPanel.add(eventPanel);
}
}
} }
public void setPanel(Panel p) public void setPanel(Panel p)
+81 -24
View File
@@ -1,4 +1,5 @@
package Applicatie; package Applicatie;
import java.io.EOFException; import java.io.EOFException;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
@@ -7,30 +8,44 @@ import java.io.IOException;
import java.io.ObjectInputStream; import java.io.ObjectInputStream;
import java.io.ObjectOutputStream; import java.io.ObjectOutputStream;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileFilter;
import Agenda.Agenda;
import Objects.DrawObject; import Objects.DrawObject;
import Objects.Path;
public class SaveLoad { public class SaveLoad
{
public static void save(Panel panel) public static void save(Panel panel)
{ {
JFileChooser fileChooser = new JFileChooser(); JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() { fileChooser.setFileFilter(new FileFilter()
{
@Override @Override
public boolean accept(File pathname) { public boolean accept(File pathname)
{
if (pathname.isFile() && pathname.getName().endsWith(".agn")) if (pathname.isFile() && pathname.getName().endsWith(".agn"))
{ {
return true; return true;
}else if(pathname.isDirectory()){return true;}else{return false;} }
else if (pathname.isDirectory())
{
return true;
}
else
{
return false;
}
} }
@Override @Override
public String getDescription() { public String getDescription()
{
return ".agn"; return ".agn";
} }
@@ -60,18 +75,28 @@ public class SaveLoad {
} }
} }
public static void saveTerrain(File file, Panel panel)
{
public static void saveTerrain(File file, Panel panel) { try
{
try {
FileOutputStream fos = new FileOutputStream(file); FileOutputStream fos = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(fos); ObjectOutputStream oos = new ObjectOutputStream(fos);
for (DrawObject object : panel.objects) { oos.writeObject(panel.getAgenda());
for (DrawObject object : panel.objects)
{
object.setSelected(false);
oos.writeObject(object); oos.writeObject(object);
} }
for(Path p : panel.paths)
{
oos.writeObject(p);
}
oos.close(); oos.close();
JOptionPane.showMessageDialog(null, "Saved succesfully"); JOptionPane.showMessageDialog(null, "Saved succesfully");
} catch (IOException e) { }
catch (IOException e)
{
e.printStackTrace(); e.printStackTrace();
} }
} }
@@ -79,17 +104,28 @@ public class SaveLoad {
public static void load(Panel panel) public static void load(Panel panel)
{ {
JFileChooser fileChooser = new JFileChooser(); JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() { fileChooser.setFileFilter(new FileFilter()
{
@Override @Override
public boolean accept(File pathname) { public boolean accept(File pathname)
{
if (pathname.isFile() && pathname.getName().endsWith(".agn")) if (pathname.isFile() && pathname.getName().endsWith(".agn"))
{ {
return true; return true;
}else if(pathname.isDirectory()){return true;}else{return false;} }
else if (pathname.isDirectory())
{
return true;
}
else
{
return false;
}
} }
@Override @Override
public String getDescription() { public String getDescription()
{
return ".agn"; return ".agn";
} }
@@ -113,32 +149,53 @@ public class SaveLoad {
} }
} }
public static void fillTerrain(File file, Panel panel)
public static void fillTerrain(File file, Panel panel) { {
FileInputStream fis = null; FileInputStream fis = null;
ObjectInputStream ois = null; ObjectInputStream ois = null;
try { try
{
fis = new FileInputStream(file); fis = new FileInputStream(file);
ois = new ObjectInputStream(fis); ois = new ObjectInputStream(fis);
Object object; Object object;
Agenda a = (Agenda) ois.readObject();
panel.setAgenda(a);
try
{
object = ois.readObject(); object = ois.readObject();
try {
panel.clearObjects(); panel.clearObjects();
while (object != null) { while (object != null)
{
if (object instanceof Waypoint)
{
panel.addWaypoint((Waypoint) object);
panel.objects.add((DrawObject) object); panel.objects.add((DrawObject) object);
}
if (object instanceof Path)
{
Path p = (Path) object;
p.updateImage();
panel.paths.add((Path) object);
}
else
{
panel.objects.add((DrawObject) object);
}
object = ois.readObject(); object = ois.readObject();
} }
} catch (EOFException e) {
} }
} catch (Exception e) { catch (EOFException e)
{
}
}
catch (Exception e)
{
e.printStackTrace(); e.printStackTrace();
} }
panel.update(); panel.update();
} }
} }
+157 -62
View File
@@ -5,16 +5,20 @@ import java.awt.Image;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.awt.Shape; import java.awt.Shape;
import java.awt.geom.AffineTransform; import java.awt.geom.AffineTransform;
import java.awt.geom.Area;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Random;
import Agenda.Agenda; import Agenda.Agenda;
import Agenda.Event; import Agenda.Event;
import Objects.DrawObject; import Objects.DrawObject;
import Objects.Entrance; import Objects.Entrance;
import Objects.Path; import Objects.Path;
import Objects.Stage;
public class Visitor public class Visitor
{ {
@@ -27,23 +31,28 @@ public class Visitor
ArrayList<Action> actions; ArrayList<Action> actions;
Agenda agenda; Agenda agenda;
ArrayList<DrawObject> objects; ArrayList<DrawObject> objects;
ArrayList<Waypoint> waypoints;
GregorianCalendar date;
int target; int target;
int finalTarget; int finalTarget;
public Visitor(String filename, Point2D position, Agenda agenda, ArrayList<DrawObject> objects) public Visitor(String filename, Point2D position, Agenda agenda, ArrayList<DrawObject> objects, ArrayList<Waypoint> waypoints, GregorianCalendar date)
{ {
this.position = position; this.position = position;
this.filename = filename; this.filename = filename;
this.rotation = 0; this.rotation = 0;
this.speed = 1 + Math.random() * 4; this.speed = 1 + Math.random() * 4;
this.waypoints = waypoints;
this.date = date;
scale = 1; scale = 1;
actions = new ArrayList<Action>(); actions = new ArrayList<Action>();
this.agenda = agenda; this.agenda = agenda;
this.objects = objects; this.objects = objects;
fillActions(); fillActions();
System.out.println(actions.size());
target = 1; target = 1;
finalTarget = 4; finalTarget = 0;
} }
public void draw(Graphics2D g2) public void draw(Graphics2D g2)
@@ -78,15 +87,16 @@ public class Visitor
public void update(ArrayList<DrawObject> objects, int currentTime, ArrayList<Visitor> visitors, ArrayList<Path> paths, Panel panel) public void update(ArrayList<DrawObject> objects, int currentTime, ArrayList<Visitor> visitors, ArrayList<Path> paths, Panel panel)
{ {
DrawObject target = getEntrance(); DrawObject target = getEntrance();
for (Action a : actions) for (Action a : actions)
{ {
if (currentTime >= a.getStartTime() && currentTime < a.getStoptime()) if (currentTime >= a.getStartTime() && currentTime < a.getStoptime())
{ {
target = a.getTargetObject(); this.finalTarget = a.getWaypoint().getSelf();
}
} }
}
// moveToTarget(target, objects, visitors, paths); // moveToTarget(target, objects, visitors, paths);
move(target, panel); move(target, panel);
} }
@@ -109,7 +119,6 @@ public class Visitor
{ {
rotation += 0.15; rotation += 0.15;
} }
Point2D oldPosition = position; Point2D oldPosition = position;
// face direction // face direction
@@ -128,8 +137,10 @@ public class Visitor
{ {
continue; continue;
} }
if (hitTest(object))
if (hasCollisionDO(object))
{ {
possible = false; possible = false;
} }
} }
@@ -138,24 +149,25 @@ public class Visitor
position = oldPosition; position = oldPosition;
rotation += 0.2; rotation += 0.2;
} }
if (checkIfOnWaypoint(panel)) if (checkIfOnWaypoint(panel))
{ {
HashMap<Integer, int[]> options = new HashMap<Integer, int[]>(); HashMap<Integer, int[]> options = new HashMap<Integer, int[]>();
for (Waypoint w : panel.getWaypoints()) for (Waypoint w : panel.getWaypoints())
{ {
options.put(w.getSelf(), w.getOptions()); options.put(w.getSelf(), w.getOptions());
} }
for (Map.Entry<Integer, int[]> e : options.entrySet())
{
for (int i : e.getValue())
{
System.out.println("KEY:" + e.getKey());
System.out.println("VAL:" + i);
System.out.println("TAR: " + target);
System.out.println("____________");
if (finalTarget != target) if (finalTarget != target)
{ {
for (Map.Entry<Integer, int[]> e : options.entrySet())
{
// System.out.println("KEY: " + e.getKey());
for (int i : e.getValue())
{
// System.out.println("VAL: " + i);
if (finalTarget == i && e.getKey() == target) if (finalTarget == i && e.getKey() == target)
{ {
target = finalTarget; target = finalTarget;
@@ -167,11 +179,11 @@ public class Visitor
break; break;
} }
} }
}
}
}
} }
}
}
}
public boolean checkIfOnWaypoint(Panel panel) public boolean checkIfOnWaypoint(Panel panel)
{ {
@@ -231,15 +243,17 @@ public class Visitor
boolean possible = true; boolean possible = true;
for (DrawObject object : objects) for (DrawObject object : objects)
{ {
if (hitTest(object)) if (hasCollisionDO(object))
{ {
possible = false; possible = false;
} }
} }
for (Visitor object : visitors) for (Visitor object : visitors)
{ {
if (hitTestVisitor(object) && object != this)
if (hasCollision(object) && object != this)
{ {
possible = false; possible = false;
} }
} }
@@ -334,14 +348,14 @@ public class Visitor
boolean possible = true; boolean possible = true;
for (DrawObject object : objects) for (DrawObject object : objects)
{ {
if (hitTest(object)) if (hasCollisionDO(object))
{ {
possible = false; possible = false;
} }
} }
for (Visitor object : visitors) for (Visitor object : visitors)
{ {
if (hitTestVisitor(object) && object != this) if (hasCollision(object) && object != this)
{ {
possible = false; possible = false;
} }
@@ -354,10 +368,11 @@ public class Visitor
} }
} }
@SuppressWarnings("static-access")
public void fillActions() public void fillActions()
{ {
int startTime = 540; int startTime = 840;
int stopTime = 1260; int stopTime = 1440;
while (startTime < stopTime) while (startTime < stopTime)
{ {
@@ -366,61 +381,105 @@ public class Visitor
{ {
Point2D position = null; Point2D position = null;
DrawObject targetStage = null; DrawObject targetStage = null;
ArrayList<Event> posEvents = new ArrayList<Event>();
for (Event e : agenda.getEvents()) for (Event e : agenda.getEvents())
{ {
if (convertMinutesToHours(startTime) > e.getStart() && convertMinutesToHours(startTime) < e.getStop()) if (startTime >= e.getStart() && startTime < e.getStop())
{
posEvents.add(e);
}
}
int totalPopularity = 0;
for (Event ev : posEvents)
{
totalPopularity += ev.getExpectedPopularity();
}
Random rand = new Random();
int n = rand.nextInt(totalPopularity + 1);
int currentPop = 0;
if (posEvents != null)
{
for (Event evs : posEvents)
{
int before = currentPop;
currentPop = currentPop + evs.getExpectedPopularity();
if (before < n && currentPop >= n)
{ {
for (DrawObject d : objects) for (DrawObject d : objects)
{ {
if (d.getFileName().equals(e.getStage().getName())) if (d.getFileName().equals("stage"))
{ {
position = d.getPosition(); Stage s = (Stage) d;
if (s.getStage().getName().equals(evs.getStage().getName()))
{
position = s.getPosition();
targetStage = d; targetStage = d;
} }
} }
} }
} }
}
}
int randomtime = (int) (40 + (Math.random() * (60 - 40))); int randomtime = (int) (40 + (Math.random() * (60 - 40)));
if (position != null) if (position != null)
{ {
actions.add(new Action(position, startTime, randomtime, targetStage)); Waypoint w = getClosedWaypoint(position);
actions.add(new Action(position, startTime, randomtime, targetStage, w));
} }
startTime = startTime + randomtime; startTime = startTime + randomtime;
} }
else if (random >= 30 && random < 35) else if (random >= 30 && random < 40)
{ {
Point2D position = null; Point2D position = null;
DrawObject targetDraw = null; DrawObject targetStage = null;
ArrayList<DrawObject> foodPlaces = new ArrayList<DrawObject>();
for (DrawObject d : objects) for (DrawObject d : objects)
{ {
if (d.getFileName().equals("entrance")) if (d.getFileName().equals("food"))
{ {
position = d.getPosition(); foodPlaces.add(d);
} }
} }
if (position != null)
if (foodPlaces.size() != 0)
{ {
actions.add(new Action(position, startTime, 35, targetDraw)); int r = (int) Math.floor(Math.random() * foodPlaces.size());
startTime = startTime + 35; position = foodPlaces.get(r).getPosition();
targetStage = foodPlaces.get(r);
Waypoint w = getClosedWaypoint(position);
actions.add(new Action(position, startTime, 35, targetStage, w));
startTime = startTime + 20;
} }
startTime = startTime + 35; startTime = startTime + 35;
} }
else if (random > 35) else if (random >= 40)
{ {
Point2D position = null; Point2D position = null;
DrawObject targetDrawobj = null; DrawObject targetStage = null;
ArrayList<DrawObject> toilets = new ArrayList<DrawObject>();
for (DrawObject d : objects) for (DrawObject d : objects)
{ {
if (d.getFileName().equals("wc")) if (d.getFileName().equals("wc"))
{ {
position = d.getPosition(); toilets.add(d);
} }
} }
if (position != null)
if (toilets.size() != 0)
{ {
actions.add(new Action(position, startTime, 35, targetDrawobj)); int r = (int) Math.floor(Math.random() * toilets.size());
position = toilets.get(r).getPosition();
targetStage = toilets.get(r);
Waypoint w = getClosedWaypoint(position);
actions.add(new Action(position, startTime, 35, targetStage, w));
startTime = startTime + 20;
} }
startTime = startTime + 35; startTime = startTime + 35;
@@ -428,35 +487,71 @@ public class Visitor
} }
} }
public int convertMinutesToHours(int startTime) public Waypoint getClosedWaypoint(Point2D point)
{ {
int time = 0; Waypoint waypoint = null;
int hours = startTime / 60; int distance = 10000;
int minutes = startTime % 60; for (Waypoint w : waypoints)
time = (hours * 100) + minutes; {
return time; if (w.getPosition().distance(point) < distance)
{
waypoint = w;
distance = (int) w.getPosition().distance(point);
}
}
return waypoint;
} }
public int getEndX() public boolean hasCollisionDO(DrawObject object)
{
Image image = Images.getImage(filename);
Image image2 = Images.getImage(object.getFileName());
Rectangle recta = new Rectangle((int) position.getX(), (int) position.getY(), image.getWidth(null), image.getHeight(null));
Rectangle rectb = new Rectangle((int) object.getPosition().getX(), (int) object.getPosition().getY(), image2.getWidth(null), image2.getHeight(null));
Area a = new Area(recta);
Area b = new Area(rectb);
AffineTransform transA = new AffineTransform();
transA.rotate(rotation, position.getX(), position.getY());
AffineTransform transB = new AffineTransform();
transB.rotate(Math.toRadians(object.getRotation()), object.getPosition().getX(), object.getPosition().getY());
Area aa = a.createTransformedArea(transA);
Area bb = b.createTransformedArea(transB);
if (bb.intersects(aa.getBounds2D()))
{
return true;
}
return false;
}
public boolean hasCollision(Visitor v)
{ {
Image image = Images.getImage(filename); Image image = Images.getImage(filename);
return (int) (position.getX() + image.getWidth(null)); Rectangle a = new Rectangle((int) position.getX(), (int) position.getY(), image.getWidth(null), image.getHeight(null));
} Rectangle b = new Rectangle((int) v.position.getX(), (int) v.position.getY(), image.getWidth(null), image.getHeight(null));
public int getEndY() Area aa = new Area(a);
Area bb = new Area(b);
AffineTransform af = new AffineTransform();
af.rotate(rotation, position.getX(), position.getY());
AffineTransform bf = new AffineTransform();
bf.rotate(v.rotation, v.position.getX(), v.position.getY());
Area ra = aa.createTransformedArea(af);
Area rb = bb.createTransformedArea(bf);
if (ra.intersects(rb.getBounds2D()))
{ {
Image image = Images.getImage(filename); return true;
return (int) (position.getY() + image.getHeight(null));
} }
return false;
public boolean hitTest(DrawObject to2)
{
return (getEndX() >= to2.getPosition().getX() && getEndY() >= to2.getPosition().getY() && to2.getEndX() >= position.getX() && to2.getEndY() >= position.getY());
}
public boolean hitTestVisitor(Visitor v)
{
return (getEndX() >= v.position.getX() && getEndY() >= v.position.getY() && v.getEndX() >= position.getX() && v.getEndY() >= position.getY());
} }
} }
+5 -1
View File
@@ -13,6 +13,11 @@ public class Waypoint extends DrawObject
super("waypoint", position); super("waypoint", position);
} }
public Point2D getAccuratePoint()
{
return new Point2D.Double(super.getPosition().getX() + (super.getImageRectangle().getWidth()/2), super.getPosition().getY() + super.getImageRectangle().getHeight());
}
@Override @Override
public String getName() public String getName()
{ {
@@ -36,7 +41,6 @@ public class Waypoint extends DrawObject
public void setSelf(int self) public void setSelf(int self)
{ {
System.out.println(self);
this.self = self; this.self = self;
} }
-1
View File
@@ -111,7 +111,6 @@ public class WaypointPopup extends JFrame {
for(int i = 0; i < options.length; i++) for(int i = 0; i < options.length; i++)
{ {
ioptions[i] = Integer.valueOf(options[i]); ioptions[i] = Integer.valueOf(options[i]);
System.out.println(ioptions[i]);
} }
wp.setOptions(ioptions); wp.setOptions(ioptions);
+8 -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
{ {
@@ -132,7 +130,7 @@ public class Mouse extends MouseAdapter
{ {
if (SwingUtilities.isRightMouseButton(e)) if (SwingUtilities.isRightMouseButton(e))
{ {
new PathPopup(clickedPath, panel); //new PathPopup(clickedPath, panel);
} }
} }
else else
@@ -171,10 +169,17 @@ public class Mouse extends MouseAdapter
panel.setClickedOption("drag"); panel.setClickedOption("drag");
} }
else else
{
if (panel.getDragObject() instanceof Waypoint == false)
{ {
panel.getDragObject().setPosition(panel.getSelectionPosition()); panel.getDragObject().setPosition(panel.getSelectionPosition());
panel.getDragObject().setRectangleColor(Color.BLACK); panel.getDragObject().setRectangleColor(Color.BLACK);
} }
else
{
panel.getDragObject().setRectangleColor(Color.BLACK);
}
}
panel.setSelectionPosition(panel.getSelectedObject().getPosition()); panel.setSelectionPosition(panel.getSelectedObject().getPosition());
} }
panel.repaint(); panel.repaint();
+19 -1
View File
@@ -15,6 +15,7 @@ import java.io.Serializable;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import Applicatie.Images; import Applicatie.Images;
import Applicatie.Panel;
public abstract class DrawObject implements Serializable public abstract class DrawObject implements Serializable
{ {
@@ -232,13 +233,30 @@ public abstract class DrawObject implements Serializable
public void setPosition(Point2D position) public void setPosition(Point2D position)
{ {
if(position.getX() < -Panel.getFieldWidth()/2)
{
position.setLocation(-Panel.getFieldWidth()/2, position.getY());
}
if(position.getY() < -Panel.getFieldHeight()/2)
{
position.setLocation(position.getX(), -Panel.getFieldHeight()/2);
}
if(position.getX() > Panel.getFieldWidth()/2 - width)
{
position.setLocation(Panel.getFieldWidth()/2-width, position.getY());
}
if(position.getY() > Panel.getFieldHeight()/2 - height)
{
position.setLocation(position.getX(), Panel.getFieldHeight()/2-height);
}
this.position = position; this.position = position;
} }
public void setPosition(Point2D position, boolean b) public void setPosition(Point2D position, boolean b)
{ {
this.position = position; setPosition(position);
} }
public double getRotation() public double getRotation()
{ {
return rotation; return rotation;
+17 -2
View File
@@ -10,6 +10,7 @@ import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
@@ -23,13 +24,15 @@ import Applicatie.Waypoint;
* @author Wesley de Hek * @author Wesley de Hek
* @version 1.2 * @version 1.2
*/ */
public class Path public class Path implements Serializable
{ {
private static final long serialVersionUID = 5345485798486018597L;
private ArrayList<Point2D> points; private ArrayList<Point2D> points;
private ArrayList<Shape> lines; private ArrayList<Shape> lines;
private Point2D tempPoint; private Point2D tempPoint;
private BufferedImage pathBackground; public transient BufferedImage pathBackground = null;;
private ArrayList<Waypoint> waypoints; private ArrayList<Waypoint> waypoints;
/** /**
@@ -50,6 +53,18 @@ public class Path
} }
} }
public void updateImage()
{
try
{
pathBackground = ImageIO.read(new File("images/newPath.png"));
}
catch (IOException e)
{
e.printStackTrace();
}
}
/** /**
* Draws the path. * Draws the path.
* *
-2
View File
@@ -1,2 +0,0 @@
# FestivalPlanner
Festival Planner
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB