diff --git a/Applicatie/Panel.java b/Applicatie/Panel.java index 94eea0f..fddaf71 100644 --- a/Applicatie/Panel.java +++ b/Applicatie/Panel.java @@ -30,7 +30,7 @@ public class Panel extends JPanel { BufferedImage background; BufferedImage podiumImage, toiletImage; - private int panelInfox, panelInfoy; + private int panelInfox, panelInfoy,scrollfactor; private ArrayList panelInfo = new ArrayList(); private ArrayList panelTypes = new ArrayList(); @@ -67,7 +67,7 @@ public class Panel extends JPanel { panelInfox = 0; panelInfoy = 0; - + scrollfactor = 0; // objects.add(new Podium(new Point2D.Double(100, 100))); // objects.add(new Podium(new Point2D.Double(500, 100))); @@ -90,7 +90,7 @@ public class Panel extends JPanel { case 1: return new Toilet(null); case 2: - return new Toilet(null); + return new Podium(null); default: return null; } @@ -112,7 +112,7 @@ public class Panel extends JPanel { // g2.drawImage(podiumImage, 0, 0, null); for(BufferedImage image : panelInfo) { - g2.drawImage(image, panelInfox, panelInfoy, null); + g2.drawImage(image, panelInfox - scrollfactor, panelInfoy, null); panelInfox += image.getWidth(); } panelInfox = 0; @@ -249,6 +249,22 @@ public class Panel extends JPanel { public void setPanelTypes(ArrayList panelTypes) { this.panelTypes = panelTypes; } + + public int getScrollfactor() { + return scrollfactor; + } + + public void setScrollfactor(int scrollfactor) { + this.scrollfactor = scrollfactor; + } + + public int getPanelInfox() { + return panelInfox; + } + + public void setPanelInfox(int panelInfox) { + this.panelInfox = panelInfox; + } } diff --git a/Listeners/Mouse.java b/Listeners/Mouse.java index 025c714..52a8dbe 100644 --- a/Listeners/Mouse.java +++ b/Listeners/Mouse.java @@ -34,7 +34,7 @@ public class Mouse extends MouseAdapter { int last = 0; for(BufferedImage image : panel.getPanelInfo()) { - if(e.getX() < last + image.getWidth()) + if(e.getX() < last + image.getWidth() - panel.getScrollfactor()) { DrawObject tempDrawObj = panel.createNewDrawObject(i); tempDrawObj.setPosition(clickPoint); diff --git a/Listeners/MouseWheel.java b/Listeners/MouseWheel.java index f611f27..2018823 100644 --- a/Listeners/MouseWheel.java +++ b/Listeners/MouseWheel.java @@ -9,12 +9,14 @@ import Applicatie.Panel; public class MouseWheel implements MouseWheelListener { private Panel panel; - + private int scrollfactor, min, max; + public MouseWheel(Panel panel) { this.panel = panel; + scrollfactor = 20; } - + public void mouseWheelMoved(MouseWheelEvent e) { Point2D clickPoint = panel.getClickPoint(e.getPoint()); for(DrawObject o : panel.getObjects()) @@ -27,10 +29,29 @@ public class MouseWheel implements MouseWheelListener { return; } } - -// cameraPoint - double cameraScale = panel.getCameraScale() * 1 - (e.getPreciseWheelRotation()/10); - panel.setCameraScale((float) cameraScale); + + if(e.getY() < 150) + { + + if(e.getPreciseWheelRotation() < 0) + { + panel.setScrollfactor(panel.getScrollfactor() - scrollfactor); + } + else + { + panel.setScrollfactor(panel.getScrollfactor() + scrollfactor); + } + + } + else + { + // cameraPoint + double cameraScale = panel.getCameraScale() * 1 - (e.getPreciseWheelRotation()/10); + panel.setCameraScale((float) cameraScale); + + } + + panel.repaint(); } }