.
This commit is contained in:
parent
993dfca580
commit
3384a53780
@ -9,24 +9,29 @@ import garten.view.Fenster;
|
|||||||
import garten.view.FlaecheBeet;
|
import garten.view.FlaecheBeet;
|
||||||
import garten.view.FlaechePflanzen;
|
import garten.view.FlaechePflanzen;
|
||||||
import garten.view.FlaecheWeg;
|
import garten.view.FlaecheWeg;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.MouseListener;
|
import java.awt.event.MouseListener;
|
||||||
|
import java.awt.event.MouseMotionListener;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Jan
|
* @author Jan
|
||||||
*/
|
*/
|
||||||
public class Gaertner implements MouseListener
|
public class Gaertner implements MouseMotionListener, MouseListener,
|
||||||
|
ActionListener
|
||||||
{
|
{
|
||||||
private Garten meinGarten;
|
private Garten meinGarten;
|
||||||
private Fenster fenster;
|
private Fenster fenster;
|
||||||
private FlaecheBeet flbeet;
|
private FlaecheBeet flbeet;
|
||||||
private FlaecheWeg flweg;
|
private FlaecheWeg flweg;
|
||||||
private FlaechePflanzen flpfl;
|
private FlaechePflanzen flpfl;
|
||||||
|
private boolean pflanzebewegt;
|
||||||
private ArrayList<Pflanze> pflanzen;
|
private ArrayList<Pflanze> pflanzen;
|
||||||
private ArrayList<Beet> beete;
|
private ArrayList<Beet> beete;
|
||||||
|
|
||||||
Pflanze1 pfl1;
|
Pflanze1 pfl1;
|
||||||
Pflanze2 pfl2;
|
Pflanze2 pfl2;
|
||||||
Pflanze3 pfl3;
|
Pflanze3 pfl3;
|
||||||
@ -46,6 +51,7 @@ public class Gaertner implements MouseListener
|
|||||||
pflanzen = new ArrayList<>();
|
pflanzen = new ArrayList<>();
|
||||||
beete = new ArrayList<>();
|
beete = new ArrayList<>();
|
||||||
|
|
||||||
|
pflanzebewegt = false;
|
||||||
//Initialisierung der Wege/Beete
|
//Initialisierung der Wege/Beete
|
||||||
height = fenster.getHeight();
|
height = fenster.getHeight();
|
||||||
width = fenster.getWidth();
|
width = fenster.getWidth();
|
||||||
@ -78,12 +84,17 @@ public class Gaertner implements MouseListener
|
|||||||
}
|
}
|
||||||
meinGarten.zeichneWeg();
|
meinGarten.zeichneWeg();
|
||||||
meinGarten.zeichneBeete();
|
meinGarten.zeichneBeete();
|
||||||
beete = meinGarten.getBeete();
|
|
||||||
meinGarten.randomBepflanzung();
|
meinGarten.randomBepflanzung();
|
||||||
meinGarten.zeichnePflanzen();
|
meinGarten.zeichnePflanzen();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void registerEvents()
|
||||||
|
{
|
||||||
|
fenster.addMouseListener(this);
|
||||||
|
fenster.addMouseMotionListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e)
|
public void mouseClicked(MouseEvent e)
|
||||||
{
|
{
|
||||||
@ -98,6 +109,12 @@ public class Gaertner implements MouseListener
|
|||||||
@Override
|
@Override
|
||||||
public void mouseReleased(MouseEvent e)
|
public void mouseReleased(MouseEvent e)
|
||||||
{
|
{
|
||||||
|
if (pflanzebewegt == true)
|
||||||
|
{
|
||||||
|
meinGarten.setmovePflanze(e);
|
||||||
|
pflanzebewegt = false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -109,4 +126,26 @@ public class Gaertner implements MouseListener
|
|||||||
public void mouseExited(MouseEvent e)
|
public void mouseExited(MouseEvent e)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseDragged(MouseEvent e)
|
||||||
|
{
|
||||||
|
if (pflanzebewegt == false)
|
||||||
|
{
|
||||||
|
if (meinGarten.getmovePflanze(e) != null)
|
||||||
|
{
|
||||||
|
pflanzebewegt = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseMoved(MouseEvent e)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ package garten.model;
|
|||||||
import garten.view.FlaecheBeet;
|
import garten.view.FlaecheBeet;
|
||||||
import garten.view.FlaechePflanzen;
|
import garten.view.FlaechePflanzen;
|
||||||
import garten.view.FlaecheWeg;
|
import garten.view.FlaecheWeg;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -23,7 +24,7 @@ public class Garten extends Kompositum
|
|||||||
private Pflanze1 pfl1;
|
private Pflanze1 pfl1;
|
||||||
private Pflanze2 pfl2;
|
private Pflanze2 pfl2;
|
||||||
private Pflanze3 pfl3;
|
private Pflanze3 pfl3;
|
||||||
|
int intmovePflanze;
|
||||||
FlaecheBeet flbeet;
|
FlaecheBeet flbeet;
|
||||||
FlaecheWeg flweg;
|
FlaecheWeg flweg;
|
||||||
FlaechePflanzen flpfl;
|
FlaechePflanzen flpfl;
|
||||||
@ -130,6 +131,33 @@ public class Garten extends Kompositum
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Pflanze getmovePflanze(MouseEvent e)
|
||||||
|
{
|
||||||
|
Pflanze diePflanze = null;
|
||||||
|
int abstand = 30;
|
||||||
|
|
||||||
|
for(int i = 0; i< pflanzen.size();i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
if( Math.abs(pflanzen.get(i).getPositionx()-e.getX()) + Math.abs(pflanzen.get(i).getPositiony()-e.getY()) < abstand)
|
||||||
|
{
|
||||||
|
diePflanze = pflanzen.get(i);
|
||||||
|
abstand = Math.abs(pflanzen.get(i).getPositionx()-e.getX()) + Math.abs(pflanzen.get(i).getPositiony()-e.getY());
|
||||||
|
System.out.println("Pflanze: " +diePflanze.getPositionx() + " " + diePflanze.getPositiony());
|
||||||
|
intmovePflanze = i;
|
||||||
|
System.out.println("Alte Position: "+pflanzen.get(intmovePflanze).getPositionx() + " " +pflanzen.get(intmovePflanze).getPositiony());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return diePflanze;
|
||||||
|
}
|
||||||
|
public void setmovePflanze(MouseEvent e)
|
||||||
|
{
|
||||||
|
pflanzen.get(intmovePflanze).setPositionx(e.getX());
|
||||||
|
pflanzen.get(intmovePflanze).setPositiony(e.getY());
|
||||||
|
pflanzen.get(intmovePflanze).setAlgorithm();
|
||||||
|
zeichnePflanzen();
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
public Pflanze naechstePflanze(int x, int y)
|
public Pflanze naechstePflanze(int x, int y)
|
||||||
{
|
{
|
||||||
@ -139,14 +167,12 @@ public class Garten extends Kompositum
|
|||||||
{
|
{
|
||||||
if(pflanzen.get(i).getPositionx()-x + pflanzen.get(i).getPositiony()-y < abstand)
|
if(pflanzen.get(i).getPositionx()-x + pflanzen.get(i).getPositiony()-y < abstand)
|
||||||
{
|
{
|
||||||
print(pflanzen.size());
|
|
||||||
diePflanze = pflanzen.get(i);
|
diePflanze = pflanzen.get(i);
|
||||||
abstand = Math.abs(x-pflanzen.get(i).getPositionx()) + Math.abs(y-pflanzen.get(i).getPositiony()) ;
|
abstand = Math.abs(x-pflanzen.get(i).getPositionx()) + Math.abs(y-pflanzen.get(i).getPositiony()) ;
|
||||||
print(pflanzen.get(i).getPositionx());
|
print(pflanzen.get(i).getPositionx());
|
||||||
print(pflanzen.get(i).getPositiony());
|
print(pflanzen.get(i).getPositiony());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(abstand < 20)
|
if(abstand < 20)
|
||||||
{
|
{
|
||||||
return diePflanze;
|
return diePflanze;
|
||||||
@ -156,19 +182,5 @@ public class Garten extends Kompositum
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
public void zeichnen()
|
|
||||||
{
|
|
||||||
for(int i = 0; i < wege.size(); i++)
|
|
||||||
{
|
|
||||||
wege.get(i).zeichnen();
|
|
||||||
}
|
|
||||||
|
|
||||||
for(int i = 0; i < beete.size(); i++)
|
|
||||||
{
|
|
||||||
beete.get(i).zeichnen();
|
|
||||||
}
|
|
||||||
|
|
||||||
}*/
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -19,5 +19,10 @@ public interface Pflanze
|
|||||||
//Position lieferePosition();
|
//Position lieferePosition();
|
||||||
//public void draw();
|
//public void draw();
|
||||||
public ArrayList<float[]> getPoints();
|
public ArrayList<float[]> getPoints();
|
||||||
|
public int getPositionx();
|
||||||
|
public int getPositiony();
|
||||||
|
public void setPositionx(int x);
|
||||||
|
public void setPositiony(int y);
|
||||||
|
public void setAlgorithm();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -85,6 +85,7 @@ public class PflanzeImpl extends JComponent implements Pflanze
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<float[]> getPoints()
|
public ArrayList<float[]> getPoints()
|
||||||
{
|
{
|
||||||
return pts;
|
return pts;
|
||||||
@ -115,6 +116,11 @@ public class PflanzeImpl extends JComponent implements Pflanze
|
|||||||
return flaeche;
|
return flaeche;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setAlgorithm()
|
||||||
|
{
|
||||||
|
pts.removeAll(pts);
|
||||||
|
translateRules();
|
||||||
|
}
|
||||||
public void setPosition()
|
public void setPosition()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -25,11 +25,10 @@ public class Fenster extends JFrame
|
|||||||
popup.add(radioButtonItem);
|
popup.add(radioButtonItem);
|
||||||
popup.setLocation(200,200);
|
popup.setLocation(200,200);
|
||||||
popup.setVisible(true);
|
popup.setVisible(true);
|
||||||
hauptkiste.add(popup);
|
|
||||||
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
|
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
|
||||||
popup.setVisible(true);
|
popup.setVisible(true);
|
||||||
*/
|
|
||||||
|
|
||||||
|
*/
|
||||||
this.setTitle("Garten von Paul und Jan");
|
this.setTitle("Garten von Paul und Jan");
|
||||||
this.pack();
|
this.pack();
|
||||||
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
|
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
|
||||||
@ -37,8 +36,4 @@ public class Fenster extends JFrame
|
|||||||
this.setVisible(true);
|
this.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void paintComponent()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user