Scrolling works, had boundaries, only draws an object when image is drawn, woo

This commit is contained in:
Yorick
2015-03-12 23:00:44 +00:00
parent fa726f062e
commit 7e51fe541a
3 changed files with 24 additions and 6 deletions
+12 -2
View File
@@ -81,6 +81,17 @@ public class Panel extends JPanel {
}
public int getPanelInfoLength()
{
int panelInfoLength = 0;
for(BufferedImage image : panelInfo)
{
panelInfoLength += image.getWidth();
}
return panelInfoLength;
}
public DrawObject createNewDrawObject(int index)
{
switch(index)
@@ -112,12 +123,11 @@ public class Panel extends JPanel {
// g2.drawImage(podiumImage, 0, 0, null);
for(BufferedImage image : panelInfo)
{
g2.drawImage(image, panelInfox - scrollfactor, panelInfoy, null);
g2.drawImage(image, panelInfox + scrollfactor, panelInfoy, null);
panelInfox += image.getWidth();
}
panelInfox = 0;
g2.setClip(new Rectangle2D.Double(0,150, getWidth(), getHeight()));
AffineTransform oldTransform = g2.getTransform();
g2.setTransform(getCamera());
+1 -1
View File
@@ -34,7 +34,7 @@ public class Mouse extends MouseAdapter {
int last = 0;
for(BufferedImage image : panel.getPanelInfo())
{
if(e.getX() < last + image.getWidth() - panel.getScrollfactor())
if(e.getX() >= panel.getScrollfactor() && e.getX() < last + image.getWidth() + panel.getScrollfactor())
{
DrawObject tempDrawObj = panel.createNewDrawObject(i);
tempDrawObj.setPosition(clickPoint);
+11 -3
View File
@@ -9,7 +9,7 @@ import Applicatie.Panel;
public class MouseWheel implements MouseWheelListener {
private Panel panel;
private int scrollfactor, min, max;
private int scrollfactor;
public MouseWheel(Panel panel)
{
@@ -35,11 +35,19 @@ public class MouseWheel implements MouseWheelListener {
if(e.getPreciseWheelRotation() < 0)
{
panel.setScrollfactor(panel.getScrollfactor() - scrollfactor);
if(panel.getScrollfactor() + scrollfactor + panel.getPanelInfoLength() < panel.getWidth())
{
panel.setScrollfactor(panel.getScrollfactor() + scrollfactor);
}
}
else
{
panel.setScrollfactor(panel.getScrollfactor() + scrollfactor);
if(panel.getScrollfactor() - scrollfactor >= 0)
{
panel.setScrollfactor(panel.getScrollfactor() - scrollfactor);
}
}
}