From 9f040197e23bea10574bf9469cfdf9161bb1df11 Mon Sep 17 00:00:00 2001
From: niklasBr <104077966+bretzNiklas@users.noreply.github.com>
Date: Sat, 7 Jan 2023 22:20:19 +0100
Subject: [PATCH] Gui (schlecht)

---
 Aufgabe4/Plotter.java              |  93 +++++++++++++++++++++++++++++
 Aufgabe4/SwingPaintDemo3.java      |   2 +
 Aufgabe4/ValuesToDraw.java         |  28 +++++++++
 Aufgabe4/main.java                 |  20 +++++++
 out/production/inf3_git/main.class | Bin 3885 -> 4310 bytes
 5 files changed, 143 insertions(+)
 create mode 100644 Aufgabe4/Plotter.java
 create mode 100644 Aufgabe4/ValuesToDraw.java

diff --git a/Aufgabe4/Plotter.java b/Aufgabe4/Plotter.java
new file mode 100644
index 0000000..f9bedbd
--- /dev/null
+++ b/Aufgabe4/Plotter.java
@@ -0,0 +1,93 @@
+import javax.swing.SwingUtilities;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.BorderFactory;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.geom.Line2D;
+import java.util.Arrays;
+
+public class Plotter {
+
+
+    public static void plot(ValuesToDraw valuesToDraw) {
+
+
+        SwingUtilities.invokeLater(new Runnable() {
+
+            public void run() {
+                createAndShowGUI(valuesToDraw);
+            }
+
+        });
+    }
+
+
+
+    public static void createAndShowGUI(ValuesToDraw valuesToDraw) {
+
+        JFrame f = new JFrame("Function Plotter");
+        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+        f.add(new PlotterPanel(valuesToDraw));
+        f.pack();
+        f.setVisible(true);
+
+    }
+}
+
+class PlotterPanel extends JPanel {
+
+    final int ZERO_POINT_X = 400;
+    final int ZERO_POINT_Y = 300;
+
+    ValuesToDraw valuesToDraw;
+
+
+    PlotterPanel(ValuesToDraw valuesToDraw) {
+        this.valuesToDraw = valuesToDraw;
+    }
+
+
+    public Dimension getPreferredSize() {
+        return new Dimension(800,600);
+    }
+
+    protected void paintComponent(Graphics g) {
+        super.paintComponent(g);
+
+
+        g.drawLine(400, 0, 400, 600);
+        g.drawLine(0, 300, 800, 300);
+
+
+        int[] xCords = valuesToDraw.getXCords();
+        int[] yCords = valuesToDraw.getYCords();
+
+        System.out.println(Arrays.toString(xCords));
+
+        int[] xCordsFromZeroPoint = new int[41];
+        int[] yCordsFromZeroPoint = new int[41];
+
+
+        for(int i = 0; i < 41; i++) {
+            xCordsFromZeroPoint[i] = xCords[i] + ZERO_POINT_X;
+        }
+
+        for(int i = 0; i < 41; i++) {
+            yCordsFromZeroPoint[i] = yCords[i] + ZERO_POINT_Y;
+        }
+
+
+
+        g.drawPolyline(xCordsFromZeroPoint, yCordsFromZeroPoint, 21);
+
+
+    }
+
+
+}
+
+
diff --git a/Aufgabe4/SwingPaintDemo3.java b/Aufgabe4/SwingPaintDemo3.java
index 2fdf3f3..6df66ef 100644
--- a/Aufgabe4/SwingPaintDemo3.java
+++ b/Aufgabe4/SwingPaintDemo3.java
@@ -109,4 +109,6 @@ class MyPanel extends JPanel {
         g.setColor(Color.BLACK);
         g.drawRect(squareX,squareY,squareW,squareH);
     }
+
+
 }
diff --git a/Aufgabe4/ValuesToDraw.java b/Aufgabe4/ValuesToDraw.java
new file mode 100644
index 0000000..ace35f7
--- /dev/null
+++ b/Aufgabe4/ValuesToDraw.java
@@ -0,0 +1,28 @@
+import java.util.ArrayList;
+
+public class ValuesToDraw {
+
+    private ArrayList<int[]> xCordArrays;
+
+    int i = 0;
+
+    ValuesToDraw(ArrayList<int[]> xCordArrays) {
+        this.xCordArrays = xCordArrays;
+
+    }
+
+    public int[] getXCords() {
+
+        return xCordArrays.get(i++);
+
+    }
+
+    public int[] getYCords () {
+
+        return new int[]{-20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10,
+                -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+                10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
+
+    }
+
+}
diff --git a/Aufgabe4/main.java b/Aufgabe4/main.java
index 4aac734..b56a7ca 100644
--- a/Aufgabe4/main.java
+++ b/Aufgabe4/main.java
@@ -8,6 +8,11 @@ public class main {
     public static void main(String[] args) throws IOException {
 
 
+
+
+
+
+
         // values above integer space will produce errors
 
         ArrayList<String> stringsFromFile = new ArrayList<>();
@@ -57,17 +62,32 @@ public class main {
 
         Evaluator e = new Evaluator();
 
+        ArrayList<int[]> arraysOfXValues = new ArrayList<>();
+
         for(AstExpression astExpression : rootAstExpressions) {
 
+            int[] xCords = new int[41];
+
+            int j = 0;
+
             for(int i = -20; i < 21; i++) {
                 e.setCounter(i);
+
+                xCords[j] = (int) e.visit(astExpression);
+
                 System.out.println(e.visit(astExpression));
+                j++;
             }
 
+            arraysOfXValues.add(xCords);
+
             System.out.println("------------");
 
         }
 
+        ValuesToDraw valuesToDraw = new ValuesToDraw(arraysOfXValues);
+
+         Plotter.plot(valuesToDraw);
 
 
         //printAst(result);
diff --git a/out/production/inf3_git/main.class b/out/production/inf3_git/main.class
index 30c986cdc3065702569085f00fe7a7ea4446b4c2..3623c2b8f2866a0612ae6e474e1cc569363d8d5a 100644
GIT binary patch
delta 1842
zcmaJ>X;@TM7=914+?hLf04dbTL`;#zf-pD0#{wmuu~B@KaDVECgAEQ#GlPPuW2KZ@
zw%o$h%Ay6S%+P7TCAA_l&B`)u-&eJ=tSl?&y)!&!fBJFHIp6uV_xry0p3O-|2Fm-p
zcI*a_Ck(CfXoD=niKz-oaJ9C|(BE#wG)$K;L%~eU(uxh2X)T7LpoDS(rBwCSy8R{9
z<9+Hv8E#y!zyyy#-!xZ+x<JjU4S2j+`97ao@ACKqdFiDx=EEzYQb84}1*FN|>OjEl
z6EN2BB+x6(b#6?0SmDAA3ViSj*j0a^u&&1E_G@Ni-@&y4B2C5|EL2d31OZcx&r=nU
zu?ROxSgc?PmTCpY^tfd-OxFY5tl$<b*A^Ksur=UT3AZU&iB;N0W2)_T+#z9&f;(}S
zcF1_K?H*_n?p1If8a0b)XrKG_9P0=)&8dTGzy<{m;6ZJIDcQCW4@-DNmz%U&Q%ZIN
z9#il*o)D0Uc)YvJQ>l8{E?53pDbI>cXp!)wf~Sb!fGH()6E-V&2CD=TbT7|5PawaX
z%^6o+S*a#)K+h^@#a6A4d6YS%;5me~5_7Vx9or@BP_PqzEodHSX~**lc4LpW$(%gs
z1-vNXC0%Y3urYmcjoYUNs(n_p<7EY%bUJR{8gH%}SM8h27RStTvRM_{25ECvoT^XG
zUtB&tIull~;GBUA#QtYkTA^jXaA;dBi5at;WAiw!sR6ZY{zSE=M7_@ImT*+UVYZ~O
zuFPE%@Kjg%CH$maVl9mQO~z^bF5wToz%$x1Ylq`60fWdCOzEtuVh_Bk-|wbFw>C#k
zHwh||v}@%gtwmO5FG38v0~kOGz|8d(N?F_mcT+|iL@N(5*vC~@>+7prm8b#s;{YWq
z7UMNq(b=$;f#Lu$QR`*v2=0V5qYc(vt3wJSJ6Cqd+c8359aQ}^T3|0+xwiQ9U2?8s
z7-^3`F)}tWHa@WlnGQ>0Y(p5697>|yVR6{Pn6kQfD@uFLVa#4`7t3QsbN3;K)uDuu
zG>zH>HH@<6?hQNPp5d^z1u;+0*^Y`<!n0#IMj@qVPlYj3RwHkK1XyrBZ0Jp`1O3qt
zgSlRcf%HkC*C6EZW-QWCgrS&>On9lS$1s*Y0xM{-2Dv0;9@#O5jJg~h$Vc!X#^D$W
zaguJQ_&Ri9f-u7+&ch^;jAAhePLYl&A{!+l2c=>Rri&uX6fRs7>2sLCa@f&>c%5*)
z1osA-ATg00Z{iR;f0_{9LL*|C!-=<Xn6o*BEAbBR>_H|k)?WZt#*yF%j<QyZD8##T
zCa*;S-eW-aMqGjS@d24oM1UXSBc_{-zwt5cOssDoKEbCP{u=DTXS|bG-%7&zoP9fp
zW%xn|L+ECFiLW5zYvvh_98(X{Z-_LS_FJZn2L6tLqv4J*Tr|jW+MS?lqqfvOEZBv<
z5}Xnw2_w645#l6#ACbmLP$XnV&IOUR$4Y`r!Vly)&LF#+&6EG%g{gkzXC$bTOwDJH
zC(>A?vJ*j_@1cwkYC6$RCs!bh1-jUddR+`sY^8itC%pO=!ir8fsOb?xSRKOMVXSS&
zRne>Uo#=g5zdnSA7@--NXRjU&p*iZM+XqA7#naJ?9oPbp+<L-oA+$v?M1@@;?2SUB
zrh^*&r!_>_U4VF=%h=$#{4L$&cR7+U4+BtvArTH&kt{VFiH}yb97sJM^2Pi^mtay0
z+p&$q{r8U#MaYE6j3k%_47o5v&-62M#E^EsaJR67zw-N&>;ah|(8cE@29AFKDF?ZA

delta 1423
zcmYk5X>b%(6otReWTtz%I}lJPri6iLSP~Ev*$fsU6k>{K5HKR5Rby(@z?g(2AP73B
z;D!dZRYb)FmxwWHa2$5m5ES<f#RZ9qqN4uMA6g=wo~9^&^n3Tbch9}2@4atNQCr;J
z{qNS7f${v_ZjTEUM48DflM7s`xX@b^I?XEQB9}Q_>{W#Nc`c!GJ4ywYyIjGQUUhzP
z@jL@#h|MLWT&|+0LAbu5rnbqZj(U>?E)6t#t@$OR7Rs^2CtvNdm?Z{QqOqweky@BE
zuq)0wYLAbylw~H@x?D%vv%-U&>$$<?Mwb<=^vc4+oSV7D<W`s4SmiAU51n*}pSal|
ze@J;rl~2FZ<u2|vaB>M6Y7&>Fl%pWX5kRH6hkH%#^Ig|?`@#dQrL1*%fCoJ%5_i_|
zu*oAXk4nR+$Utiy>s=lfNJL_hCtaSR#akX38`<FU46WXd$N;B}=S-e=c|nCa7%8&a
z*y!>i8Lx*q;G`^@Og8&?jdbZ}E9;XDiKe=SC~a(Y*(TB~bEDVCYW4oKcEt;3HYKX(
zpPQ(k6^OT|EUr%0H`UbDHky3x{S%$i?OU7g_}=7zujU7@((Z^IGzb~P4Fk8lwl>)?
zIhAN^Op5S}H_Rys^Q%GJ8{x#g#g03-jy&}pLa1d#v~Cv~q216PF5QIDE+dZ}TK#K(
z^+&}G9C(FSg`zCrHF=4gw?lzkFpl%~J00nmndQ{7Xe_#g(FSXo=v(6qu`0^!!b4-6
zUQS`J^~7UVFXyH#=WS$0%!=7rW@nkZ!ZBKobm^#PB1?74k?rluQNSq1GVtg=nEaf!
zMf8)70xY`Y&_mYoI_aIJm_D3BUy%lg7Uy*OGeM_Q8N_r-NHLTpoXj$Ltz;z4jHZ<_
zY?k*n%IM$>y2Lodnf$>-m34w)GTG?P6r(58a>Zz-o8pFfoi`*WrQ{u~!Bm`d0Xykb
zeGYIUyI3V{T@3f14Ypq+-sCOmwhV{e^3zlp7H^BJ|1=`J!@FwDRPFEazCuq|f)C^u
zmegiG<Rf*XS@y>|GnKSb5<XE4K2^+8`L_;}mYwX8fFQ+ZN)ZJ4TtNcrUQxdg;T&&o
zw~^_?bT=tC8FQGJNrmw@MSn@_mvYD#`74FeTb89>8-sI$1DVnc$xcr2TUC=~z7IE3
z>%%6&cHu>xr2H+zHJ!wCa};D)o<W_zy@hEyO3Pt&C%un3tj^#mL<_@@9o?Vdp@0^|
z5PmGcTX_OBDt^MJGdvq;2ta#=mjY?J*`gbNutT}wnM9%NO4VU{TJv*0y_um=nW<5!
z(wNNFXw2bk=Bjj;QcXgIOR`!$TuTibn5PGw`roU_<oZjls3zh5gZh^Gnf5719^bHE
VyQKnl>HCqNglt(qYr=jb_8$nHP;CGJ

-- 
GitLab