diff --git a/Agenda/AddArtistPanel.java b/Agenda/AddArtistPanel.java index 49e2817..25b1c0c 100644 --- a/Agenda/AddArtistPanel.java +++ b/Agenda/AddArtistPanel.java @@ -49,11 +49,13 @@ public class AddArtistPanel extends JFrame{ JPanel panel5 = new JPanel(); JLabel image = new JLabel("Image: "); + image.setVisible(false); panel5.add(image); center.add(panel5); JPanel panel6 = new JPanel(); JTextField imageTF = new JTextField("null", 15); + imageTF.setVisible(false); panel6.add(imageTF); center.add(panel6); diff --git a/Agenda/AddEventPanel.java b/Agenda/AddEventPanel.java index 4d439aa..eb767e6 100644 --- a/Agenda/AddEventPanel.java +++ b/Agenda/AddEventPanel.java @@ -92,7 +92,7 @@ public class AddEventPanel extends JFrame{ center.add(panel6); JComboBox minuteE = new JComboBox(minutes); - minuteE.setSelectedIndex(today.get(GregorianCalendar.MINUTE)); + minuteE.setSelectedIndex(today.get(GregorianCalendar.MINUTE+1)); panel6.add(minuteE); panel6.add(new JSeparator(SwingConstants.VERTICAL)); panel6.add(new JSeparator(SwingConstants.VERTICAL)); diff --git a/Agenda/EditArtistPanel.java b/Agenda/EditArtistPanel.java index fb78abe..8b6eddc 100644 --- a/Agenda/EditArtistPanel.java +++ b/Agenda/EditArtistPanel.java @@ -49,11 +49,13 @@ public class EditArtistPanel extends JFrame { JPanel panel5 = new JPanel(); JLabel image = new JLabel("Image: "); + image.setVisible(false); panel5.add(image); center.add(panel5); JPanel panel6 = new JPanel(); JTextField imageTF = new JTextField("null", 15); + imageTF.setVisible(false); panel6.add(imageTF); center.add(panel6); diff --git a/Agenda/Window.java b/Agenda/Window.java index 9a2df79..fef9a21 100644 --- a/Agenda/Window.java +++ b/Agenda/Window.java @@ -4,7 +4,6 @@ package Agenda; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; -import java.awt.FlowLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; diff --git a/Applicatie/ControlPanel.java b/Applicatie/ControlPanel.java index aa03eee..d135e2c 100644 --- a/Applicatie/ControlPanel.java +++ b/Applicatie/ControlPanel.java @@ -19,13 +19,13 @@ public class ControlPanel extends JPanel private static final long serialVersionUID = 6805244250902524351L; private Panel p; + JLabel timeLabel; - public ControlPanel(Panel p) + public ControlPanel() { super(); BoxLayout box = new BoxLayout(this, BoxLayout.X_AXIS); setLayout(box); - this.p = p; setPreferredSize(new Dimension(0,50)); setBorder(BorderFactory.createLineBorder(new Color(180, 180, 180))); setBackground(new Color(220, 220, 220)); @@ -74,11 +74,11 @@ public class ControlPanel extends JPanel add(Box.createRigidArea(new Dimension(10,50))); JPanel timePanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); - timePanel.setPreferredSize(new Dimension(280,50)); - timePanel.setMaximumSize(new Dimension(280,50)); + timePanel.setPreferredSize(new Dimension(300,50)); + timePanel.setMaximumSize(new Dimension(300,50)); add(timePanel); { - JLabel timeLabel = new JLabel("00:00 00-00-000"); + timeLabel = new JLabel("00:00 00-00-000"); timeLabel.setFont(new Font("Segoe UI", Font.PLAIN, 20)); timePanel.add(timeLabel); @@ -128,4 +128,19 @@ public class ControlPanel extends JPanel } } + + public void setPanel(Panel p) + { + this.p = p; + } + + public void setTime(String time) + { + timeLabel.setText(time); + } + + public void setPeople(int people) + { + + } } diff --git a/Applicatie/Panel.java b/Applicatie/Panel.java index d441deb..2f606c0 100644 --- a/Applicatie/Panel.java +++ b/Applicatie/Panel.java @@ -17,7 +17,9 @@ import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.GregorianCalendar; import java.util.Iterator; import javax.imageio.ImageIO; @@ -63,12 +65,16 @@ public class Panel extends JPanel implements ActionListener Point2D cameraPoint = new Point2D.Double(getWidth() / 2, getHeight() / 2); float cameraScale = 1; PropertiesPanel pp; + ControlPanel cp; Agenda agenda; Point2D lastClickPosition = new Point(0, 0); Point lastMousePosition = new Point(0, 0); Point2D selectionPosition = new Point(0, 0); Images images = new Images(); javax.swing.Timer t; + + SimpleDateFormat formatter; + GregorianCalendar date; int currentTime = 540; int tick = 0; @@ -89,10 +95,14 @@ public class Panel extends JPanel implements ActionListener this.selectionPosition = selectionPosition; } - Panel(PropertiesPanel pp) + Panel(PropertiesPanel pp, ControlPanel cp) { this.pp = pp; + this.cp = cp; + cp.setPanel(this); pp.setPanel(this); + date = new GregorianCalendar(); + formatter = new SimpleDateFormat("H:s dd-MM-yyyy"); try { grass = ImageIO.read(new File("images/grass.jpg")); @@ -100,7 +110,6 @@ public class Panel extends JPanel implements ActionListener podiumImage = ImageIO.read(new File("images/stageIcon.png")); toiletImage = ImageIO.read(new File("images/wcIcon.png")); entranceImage = ImageIO.read(new File("images/entranceIcon.png")); - pathImage = ImageIO.read(new File("images/pathIcon.png")); wallImage = ImageIO.read(new File("images/wallIcon.png")); foodImage = ImageIO.read(new File("images/foodIcon.png")); waypointImage = ImageIO.read(new File("images/waypointIcon.png")); @@ -113,7 +122,6 @@ public class Panel extends JPanel implements ActionListener panelInfo.add(podiumImage); panelInfo.add(toiletImage); panelInfo.add(entranceImage); - panelInfo.add(pathImage); panelInfo.add(wallImage); panelInfo.add(foodImage); panelInfo.add(waypointImage); @@ -158,10 +166,8 @@ public class Panel extends JPanel implements ActionListener case 2: return new Entrance(null); case 3: - return new OldPath(null); - case 4: return new Wall(null); - case 5: + case 4: return new Food(null); case 6: return new Waypoint(null); @@ -557,6 +563,16 @@ public class Panel extends JPanel implements ActionListener { this.agenda = agenda; } + + public int getFieldWidth() + { + return width; + } + + public int getFieldHeight() + { + return height; + } @Override public void actionPerformed(ActionEvent e) @@ -566,6 +582,8 @@ public class Panel extends JPanel implements ActionListener { tick = 0; currentTime++; + date.setTimeInMillis(date.getTimeInMillis() + 1000); + cp.setTime(formatter.format(date.getTime())); System.out.println(currentTime); } diff --git a/Applicatie/PropertiesPanel.java b/Applicatie/PropertiesPanel.java index c765789..792dd4e 100644 --- a/Applicatie/PropertiesPanel.java +++ b/Applicatie/PropertiesPanel.java @@ -420,7 +420,13 @@ public class PropertiesPanel extends JPanel { scaleField.setBackground(Color.WHITE); double scale = Double.parseDouble(scaleField.getText()); + if(scale<0 || (scale >0 && scale<0.2)) + { + scale=0.2; + scaleField.setText(scale+""); + } selectedObject.setScale(scale); + p.update(); } catch (NumberFormatException nfe) diff --git a/Applicatie/Window.java b/Applicatie/Window.java index 0539319..874da98 100644 --- a/Applicatie/Window.java +++ b/Applicatie/Window.java @@ -24,9 +24,9 @@ public class Window extends JFrame // CONTENT PANELS JPanel contentPanel = new JPanel(new BorderLayout()); PropertiesPanel pp = new PropertiesPanel(); - fp = new Panel(pp); + ControlPanel cp = new ControlPanel(); + fp = new Panel(pp, cp); contentPanel.add(fp, BorderLayout.CENTER); - ControlPanel cp = new ControlPanel(fp); contentPanel.add(cp, BorderLayout.SOUTH); contentPanel.add(pp, BorderLayout.EAST); contentPanel.add(fp, BorderLayout.CENTER); diff --git a/Listeners/Mouse.java b/Listeners/Mouse.java index 789b8ac..a331534 100644 --- a/Listeners/Mouse.java +++ b/Listeners/Mouse.java @@ -11,6 +11,7 @@ import Applicatie.Panel; import Applicatie.Waypoint; import Objects.DrawObject; import Objects.Path; +import Objects.Entrance; public class Mouse extends MouseAdapter { @@ -126,10 +127,38 @@ public class Mouse extends MouseAdapter public void mouseReleased(MouseEvent e) { - if (panel.getDragObject() != null) - { - if (panel.getDragObject().getRectangleColor() != Color.RED) - { + if(panel.getDragObject() != null) { + if(panel.getDragObject().getRectangleColor() != Color.RED) { + if(panel.getDragObject() instanceof Entrance) + { + Rectangle2D rect = panel.getDragObject().getRectangle(); + double xl = (panel.getFieldWidth()/2) + rect.getMinX(); + double xr = panel.getFieldWidth() - xl+rect.getWidth(); + double yt = (panel.getFieldHeight()/2) + rect.getMinY(); + double yb = panel.getFieldHeight() - yt+rect.getHeight(); + if(xl < xr && xl < yt && xl < yb) + { + panel.getDragObject().setPosition(new Point2D.Double(-panel.getFieldWidth()/2, rect.getMinY())); + } + else if(xr < xl && xr < yt && xr < yb) + { + panel.getDragObject().setPosition(new Point2D.Double(panel.getFieldWidth()/2 - rect.getWidth(), rect.getMinY())); + } + else if(yt < xl && yt < xr && yt < yb) + { + panel.getDragObject().setPosition(new Point2D.Double(rect.getMinX(), -panel.getFieldHeight()/2)); + } + else if(yb < xl && yb < yt && yb < xr) + { + panel.getDragObject().setPosition(new Point2D.Double(rect.getMinX(), panel.getFieldHeight()/2 - rect.getHeight())); + } + else + { + panel.getDragObject().setPosition(new Point2D.Double(-panel.getFieldWidth()/2, -panel.getFieldHeight()/2)); + } + + } + panel.setDragObject(null); panel.setClickedOption("drag"); } diff --git a/sprites/block.png b/sprites/block.png new file mode 100644 index 0000000..e44d50c Binary files /dev/null and b/sprites/block.png differ diff --git a/sprites/sprite0.png b/sprites/sprite0.png new file mode 100644 index 0000000..50e6440 Binary files /dev/null and b/sprites/sprite0.png differ