Added images to Panel
This commit is contained in:
+84
-6
@@ -14,6 +14,7 @@ import java.awt.image.BufferedImage;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
@@ -22,10 +23,17 @@ import Listeners.Mouse;
|
|||||||
import Listeners.MouseMotion;
|
import Listeners.MouseMotion;
|
||||||
import Listeners.MouseWheel;
|
import Listeners.MouseWheel;
|
||||||
import Objects.Podium;
|
import Objects.Podium;
|
||||||
|
import Objects.Toilet;
|
||||||
|
|
||||||
public class Panel extends JPanel {
|
public class Panel extends JPanel {
|
||||||
|
|
||||||
BufferedImage background;
|
BufferedImage background;
|
||||||
|
BufferedImage podiumImage, toiletImage;
|
||||||
|
|
||||||
|
private int panelInfox, panelInfoy;
|
||||||
|
|
||||||
|
private ArrayList<BufferedImage> panelInfo = new ArrayList<BufferedImage>();
|
||||||
|
private ArrayList<Object> panelTypes = new ArrayList<Object>();
|
||||||
|
|
||||||
ArrayList<DrawObject> objects = new ArrayList<>();
|
ArrayList<DrawObject> objects = new ArrayList<>();
|
||||||
DrawObject dragObject = null;
|
DrawObject dragObject = null;
|
||||||
@@ -37,17 +45,33 @@ public class Panel extends JPanel {
|
|||||||
Point2D lastClickPosition = new Point(0,0);
|
Point2D lastClickPosition = new Point(0,0);
|
||||||
Point lastMousePosition = new Point(0,0);
|
Point lastMousePosition = new Point(0,0);
|
||||||
|
|
||||||
|
//how to nieuwe dingen aan het panel toe te voegen:
|
||||||
|
//maak bufferedimage global aan, voeg er een image aan toe, en voeg de image aan panelInfo toe en het object aan panelTypes.
|
||||||
|
//en maak een case statement die een new Object returnt in createNewDrawObject.
|
||||||
|
|
||||||
Panel()
|
Panel()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
background = ImageIO.read(new File("images/grass.jpg"));
|
background = ImageIO.read(new File("images/grass.jpg"));
|
||||||
|
podiumImage = ImageIO.read(new File("images/stageIcon.png"));
|
||||||
|
toiletImage = ImageIO.read(new File("images/toilet.png"));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
panelInfo.add(podiumImage);
|
||||||
|
panelInfo.add(toiletImage);
|
||||||
|
panelTypes.add(new Podium(null));
|
||||||
|
panelTypes.add(new Toilet(null));
|
||||||
|
panelInfo.add(toiletImage);
|
||||||
|
panelTypes.add(new Toilet(null));
|
||||||
|
|
||||||
objects.add(new Podium(new Point2D.Double(100, 100)));
|
panelInfox = 0;
|
||||||
objects.add(new Podium(new Point2D.Double(500, 100)));
|
panelInfoy = 0;
|
||||||
objects.add(new Podium(new Point2D.Double(300, 400)));
|
|
||||||
|
|
||||||
|
// objects.add(new Podium(new Point2D.Double(100, 100)));
|
||||||
|
// objects.add(new Podium(new Point2D.Double(500, 100)));
|
||||||
|
// objects.add(new Podium(new Point2D.Double(300, 400)));
|
||||||
|
|
||||||
addMouseListener(new Mouse(this));
|
addMouseListener(new Mouse(this));
|
||||||
|
|
||||||
@@ -57,6 +81,20 @@ public class Panel extends JPanel {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public DrawObject createNewDrawObject(int index)
|
||||||
|
{
|
||||||
|
switch(index)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
return new Podium(null);
|
||||||
|
case 1:
|
||||||
|
return new Toilet(null);
|
||||||
|
case 2:
|
||||||
|
return new Toilet(null);
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void add(DrawObject dragObject)
|
public void add(DrawObject dragObject)
|
||||||
{
|
{
|
||||||
@@ -69,10 +107,18 @@ public class Panel extends JPanel {
|
|||||||
Graphics2D g2 = (Graphics2D)g;
|
Graphics2D g2 = (Graphics2D)g;
|
||||||
g2.setClip(new Rectangle2D.Double(0,0, getWidth(), 300));
|
g2.setClip(new Rectangle2D.Double(0,0, getWidth(), 300));
|
||||||
|
|
||||||
g2.fill(new Ellipse2D.Double(0,0,300,300));
|
// g2.fill(new Ellipse2D.Double(0,0,300,300));
|
||||||
|
|
||||||
|
// g2.drawImage(podiumImage, 0, 0, null);
|
||||||
|
for(BufferedImage image : panelInfo)
|
||||||
|
{
|
||||||
|
g2.drawImage(image, panelInfox, panelInfoy, null);
|
||||||
|
panelInfox += image.getWidth();
|
||||||
|
}
|
||||||
|
panelInfox = 0;
|
||||||
|
|
||||||
|
|
||||||
g2.setClip(new Rectangle2D.Double(0,300, getWidth(), getHeight()-200));
|
g2.setClip(new Rectangle2D.Double(0,150, getWidth(), getHeight()));
|
||||||
AffineTransform oldTransform = g2.getTransform();
|
AffineTransform oldTransform = g2.getTransform();
|
||||||
g2.setTransform(getCamera());
|
g2.setTransform(getCamera());
|
||||||
|
|
||||||
@@ -80,8 +126,10 @@ public class Panel extends JPanel {
|
|||||||
g2.setPaint(p);
|
g2.setPaint(p);
|
||||||
g2.fill(new Rectangle2D.Double(-1920,-1080,3840,2160));
|
g2.fill(new Rectangle2D.Double(-1920,-1080,3840,2160));
|
||||||
|
|
||||||
for(DrawObject o : objects)
|
for(DrawObject o : objects){
|
||||||
o.draw(g2);
|
o.draw(g2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
g2.setClip(null);
|
g2.setClip(null);
|
||||||
@@ -171,6 +219,36 @@ public class Panel extends JPanel {
|
|||||||
public void setLastMousePosition(Point lastMousePosition) {
|
public void setLastMousePosition(Point lastMousePosition) {
|
||||||
this.lastMousePosition = lastMousePosition;
|
this.lastMousePosition = lastMousePosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public BufferedImage getPodiumImage() {
|
||||||
|
return podiumImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setPodiumImage(BufferedImage podiumImage) {
|
||||||
|
this.podiumImage = podiumImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public ArrayList<BufferedImage> getPanelInfo() {
|
||||||
|
return panelInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setPanelInfo(ArrayList<BufferedImage> panelInfo) {
|
||||||
|
this.panelInfo = panelInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public ArrayList<Object> getPanelTypes() {
|
||||||
|
return panelTypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setPanelTypes(ArrayList<Object> panelTypes) {
|
||||||
|
this.panelTypes = panelTypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+27
-9
@@ -3,12 +3,13 @@ package Listeners;
|
|||||||
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.image.BufferedImage;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import Applicatie.DrawObject;
|
import Applicatie.DrawObject;
|
||||||
import Applicatie.Panel;
|
import Applicatie.Panel;
|
||||||
import Objects.Podium;
|
import Objects.Podium;
|
||||||
import Objects.Toilet;
|
|
||||||
import Applicatie.Panel;
|
|
||||||
|
|
||||||
public class Mouse extends MouseAdapter {
|
public class Mouse extends MouseAdapter {
|
||||||
|
|
||||||
@@ -23,13 +24,31 @@ public class Mouse extends MouseAdapter {
|
|||||||
Point2D clickPoint = panel.getClickPoint(e.getPoint());
|
Point2D clickPoint = panel.getClickPoint(e.getPoint());
|
||||||
panel.setLastClickPosition(clickPoint);
|
panel.setLastClickPosition(clickPoint);
|
||||||
panel.setLastMousePosition(e.getPoint());
|
panel.setLastMousePosition(e.getPoint());
|
||||||
if(e.getY() < 300)
|
if(e.getY() < 150)
|
||||||
{
|
{
|
||||||
if(e.getX() < 300)
|
// if(e.getX() < 51) //51 = width podium image
|
||||||
panel.setDragObject(new Podium(clickPoint));
|
// panel.setDragObject(new Podium(clickPoint));
|
||||||
else
|
// else
|
||||||
panel.setDragObject(new Toilet(clickPoint));
|
// panel.setDragObject(new Toilet(clickPoint));
|
||||||
panel.add(panel.getDragObject());
|
int i = 0;
|
||||||
|
int last = 0;
|
||||||
|
for(BufferedImage image : panel.getPanelInfo())
|
||||||
|
{
|
||||||
|
if(e.getX() < last + image.getWidth())
|
||||||
|
{
|
||||||
|
DrawObject tempDrawObj = panel.createNewDrawObject(i);
|
||||||
|
tempDrawObj.setPosition(clickPoint);
|
||||||
|
panel.setDragObject(tempDrawObj);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
last += image.getWidth();
|
||||||
|
|
||||||
|
}
|
||||||
|
if(panel.getDragObject() != null)
|
||||||
|
{
|
||||||
|
panel.add(panel.getDragObject());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -39,7 +58,6 @@ public class Mouse extends MouseAdapter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void mouseReleased(MouseEvent e) {
|
public void mouseReleased(MouseEvent e) {
|
||||||
panel.setDragObject(null);
|
panel.setDragObject(null);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user