You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

FlaechePflanzen.java 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package garten.view;
  7. import garten.model.Pflanze;
  8. import java.awt.BasicStroke;
  9. import java.awt.Color;
  10. import java.awt.Graphics;
  11. import java.awt.Graphics2D;
  12. import java.awt.RenderingHints;
  13. import java.awt.geom.Line2D;
  14. import java.util.ArrayList;
  15. import javax.swing.JPanel;
  16. /**
  17. *
  18. * @author Jan
  19. */
  20. public class FlaechePflanzen extends JPanel
  21. {
  22. ArrayList<Pflanze> pflanzen = new ArrayList<>();
  23. Color colorPflanzen;
  24. private Line2D.Float Gerade;
  25. private BasicStroke pinsel;
  26. public FlaechePflanzen()
  27. {
  28. colorPflanzen = new Color(50, 205, 50);
  29. pflanzen = new ArrayList<>();
  30. Gerade = new Line2D.Float();
  31. pinsel = new BasicStroke(1f);
  32. }
  33. public void paintComponent(Graphics g)
  34. {
  35. super.paintComponent(g);
  36. Graphics2D g2 = (Graphics2D) g;
  37. g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
  38. RenderingHints.VALUE_ANTIALIAS_ON);
  39. g.setColor(colorPflanzen);
  40. for(Pflanze p : pflanzen)
  41. {
  42. ArrayList<float[]> pts = p.getPoints();
  43. for(float[] pt : pts)
  44. {
  45. Gerade.setLine(pt[0], pt[1], pt[2], pt[3]);
  46. g2.draw(Gerade);
  47. }
  48. }
  49. }
  50. public void setPflanzen(ArrayList<Pflanze> temppflanzen) //set = automatisch zeichnen
  51. {
  52. pflanzen.addAll(0, temppflanzen);
  53. repaint();
  54. }
  55. public void löschePflanzen()
  56. {
  57. pflanzen.removeAll(pflanzen);
  58. repaint();
  59. }
  60. }