From 0c59eb5dd3b918e148aafa212a0d002d06477f3f Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Tue, 7 Apr 2015 16:11:20 +0200 Subject: [PATCH 1/4] Stuff --- Agenda/Window.java | 1 - Applicatie/ControlPanel.java | 25 ++++++++++++++++++++----- Applicatie/Panel.java | 14 +++++++++++++- Applicatie/Window.java | 4 ++-- New Text Document.txt | 0 5 files changed, 35 insertions(+), 9 deletions(-) delete mode 100644 New Text Document.txt 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 255b77f..f7aa994 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")); @@ -537,6 +547,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/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/New Text Document.txt b/New Text Document.txt deleted file mode 100644 index e69de29..0000000 From a164f7b781edc19f9263881514c00ea722de1e46 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Wed, 8 Apr 2015 10:55:16 +0200 Subject: [PATCH 2/4] Improved Agenda module --- Agenda/AddArtistPanel.java | 2 ++ Agenda/AddEventPanel.java | 2 +- Agenda/EditArtistPanel.java | 2 ++ sprites/block.png | Bin 0 -> 155 bytes sprites/sprite0.png | Bin 0 -> 197 bytes 5 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 sprites/block.png create mode 100644 sprites/sprite0.png 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/sprites/block.png b/sprites/block.png new file mode 100644 index 0000000000000000000000000000000000000000..e44d50c3a147ee64e5adc7f63952bc5bcc4d7ba2 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4v7|ftIx;Y9?C1WI$O`0h7I;J! zGcfQS1YyP<6SLm}1tm&cBT9nv(@M${i&7a15;OBk^zu?m6ioCC^h{G*jZ%SXBt2am vLo|YuCC)i;b^K@kXl%gGFHyrKDZ%jd3g;iMk9}u>iWody{an^LB{Ts57L!@iMIs^PTR1PjOM0!#|r0f$(h zsN|eG#_BLDFosb`;VOg3SLS>Mjt9MRCJf#w8cjbIvD=0|@@4<=NPe1Ifm-g9D{VQ- uI=48a7?@v3CCo|?6PUZRfbod|0|WoDQpG8oR4jq+V(@hJb6Mw<&;$Sr06)|K literal 0 HcmV?d00001 From 33bb8800188671e9ecbffb86b386901b73f225e0 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Wed, 8 Apr 2015 10:55:23 +0200 Subject: [PATCH 3/4] Fixed scale --- Applicatie/PropertiesPanel.java | 6 ++++++ 1 file changed, 6 insertions(+) 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) From 2a8ff8e29a46273fae1dd0ba5c363bd119b6d76e Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Wed, 8 Apr 2015 11:18:25 +0200 Subject: [PATCH 4/4] Entrance now snaps to side. --- Applicatie/Panel.java | 18 ++++++++++++------ Listeners/Mouse.java | 32 +++++++++++++++++++++++++++++++- 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/Applicatie/Panel.java b/Applicatie/Panel.java index f7aa994..516c3b8 100644 --- a/Applicatie/Panel.java +++ b/Applicatie/Panel.java @@ -45,7 +45,7 @@ public class Panel extends JPanel implements ActionListener BufferedImage grass, sand; BufferedImage background; - BufferedImage podiumImage, toiletImage, entranceImage, pathImage, wallImage, foodImage; + BufferedImage podiumImage, toiletImage, entranceImage, wallImage, foodImage; private int panelInfox, panelInfoy, scrollfactor; @@ -110,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")); background = grass; @@ -122,7 +121,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); @@ -166,10 +164,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); default: return null; @@ -538,6 +534,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) diff --git a/Listeners/Mouse.java b/Listeners/Mouse.java index e611c2c..d048f71 100644 --- a/Listeners/Mouse.java +++ b/Listeners/Mouse.java @@ -4,11 +4,12 @@ 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 Applicatie.Panel; import Objects.DrawObject; -import Objects.Stage; +import Objects.Entrance; public class Mouse extends MouseAdapter { @@ -125,6 +126,35 @@ public class Mouse extends MouseAdapter { 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"); }