From 50f648d0379923838f4e3c34501d2fc32b0a4bb2 Mon Sep 17 00:00:00 2001 From: Giacomo Radaelli Date: Mon, 15 May 2023 18:38:10 +0200 Subject: [PATCH 1/3] Creato progetto grafica, sistemato shape --- .gitignore | 1 + NetBeans Projects/Grafica/build.xml | 73 + NetBeans Projects/Grafica/manifest.mf | 3 + .../Grafica/nbproject/build-impl.xml | 1799 +++++++++++++++++ .../Grafica/nbproject/genfiles.properties | 8 + .../Grafica/nbproject/project.properties | 95 + .../Grafica/nbproject/project.xml | 16 + .../{shape => Grafica}/src/shape/Circle.java | 4 +- .../Grafica/src/shape/Geometria.java | 47 + .../{shape => Grafica}/src/shape/Shape.java | 0 .../src/shape/ShapesViewer.java | 0 .../{shape => Grafica}/src/shape/Square.java | 20 +- .../Grafica/src/shape/Tester.java | 21 + .../src/shape/TriangoloRettangolo.java | 27 +- .../shape/src/shape/Geometria.java | 47 - NetBeans Projects/shape/src/shape/Tester.java | 33 - 16 files changed, 2074 insertions(+), 120 deletions(-) create mode 100644 NetBeans Projects/Grafica/build.xml create mode 100644 NetBeans Projects/Grafica/manifest.mf create mode 100644 NetBeans Projects/Grafica/nbproject/build-impl.xml create mode 100644 NetBeans Projects/Grafica/nbproject/genfiles.properties create mode 100644 NetBeans Projects/Grafica/nbproject/project.properties create mode 100644 NetBeans Projects/Grafica/nbproject/project.xml rename NetBeans Projects/{shape => Grafica}/src/shape/Circle.java (75%) create mode 100644 NetBeans Projects/Grafica/src/shape/Geometria.java rename NetBeans Projects/{shape => Grafica}/src/shape/Shape.java (100%) rename NetBeans Projects/{shape => Grafica}/src/shape/ShapesViewer.java (100%) rename NetBeans Projects/{shape => Grafica}/src/shape/Square.java (63%) create mode 100644 NetBeans Projects/Grafica/src/shape/Tester.java rename NetBeans Projects/{shape => Grafica}/src/shape/TriangoloRettangolo.java (56%) delete mode 100644 NetBeans Projects/shape/src/shape/Geometria.java delete mode 100644 NetBeans Projects/shape/src/shape/Tester.java diff --git a/.gitignore b/.gitignore index f9c8a7c..35ba994 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ hs_err_pid* /NetBeans Projects/BankAccount/build/ /NetBeans Projects/BankAccount/dist/ /NetBeans Projects/Inventory/build/ +/NetBeans Projects/Grafica/nbproject/private/ diff --git a/NetBeans Projects/Grafica/build.xml b/NetBeans Projects/Grafica/build.xml new file mode 100644 index 0000000..a082dee --- /dev/null +++ b/NetBeans Projects/Grafica/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Grafica. + + + diff --git a/NetBeans Projects/Grafica/manifest.mf b/NetBeans Projects/Grafica/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/NetBeans Projects/Grafica/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/NetBeans Projects/Grafica/nbproject/build-impl.xml b/NetBeans Projects/Grafica/nbproject/build-impl.xml new file mode 100644 index 0000000..1d8d5b5 --- /dev/null +++ b/NetBeans Projects/Grafica/nbproject/build-impl.xml @@ -0,0 +1,1799 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set platform.home + Must set platform.bootcp + Must set platform.java + Must set platform.javac + + The J2SE Platform is not correctly set up. + Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. + Either open the project in the IDE and setup the Platform with the same name or add it manually. + For example like this: + ant -Duser.properties.file=<path_to_property_file> jar (where you put the property "platforms.${platform.active}.home" in a .properties file) + or ant -Dplatforms.${platform.active}.home=<path_to_JDK_home> jar (where no properties file is used) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + ${platform.java} -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NetBeans Projects/Grafica/nbproject/genfiles.properties b/NetBeans Projects/Grafica/nbproject/genfiles.properties new file mode 100644 index 0000000..c685409 --- /dev/null +++ b/NetBeans Projects/Grafica/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=acf20e45 +build.xml.script.CRC32=761ebeaf +build.xml.stylesheet.CRC32=f85dc8f2@1.106.0.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=acf20e45 +nbproject/build-impl.xml.script.CRC32=a1851d6a +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.106.0.48 diff --git a/NetBeans Projects/Grafica/nbproject/project.properties b/NetBeans Projects/Grafica/nbproject/project.properties new file mode 100644 index 0000000..3593b87 --- /dev/null +++ b/NetBeans Projects/Grafica/nbproject/project.properties @@ -0,0 +1,95 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.modulepath=\ + ${run.modulepath} +debug.test.classpath=\ + ${run.test.classpath} +debug.test.modulepath=\ + ${run.test.modulepath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Grafica.jar +dist.javadoc.dir=${dist.dir}/javadoc +dist.jlink.dir=${dist.dir}/jlink +dist.jlink.output=${dist.jlink.dir}/Grafica +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.modulepath= +javac.processormodulepath= +javac.processorpath=\ + ${javac.classpath} +javac.source=17 +javac.target=17 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.modulepath=\ + ${javac.modulepath} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.html5=false +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +# The jlink additional root modules to resolve +jlink.additionalmodules= +# The jlink additional command line parameters +jlink.additionalparam= +jlink.launcher=true +jlink.launcher.name=Grafica +main.class=shape.ShapesViewer +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=Zulu_17.0.6_10 +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.modulepath=\ + ${javac.modulepath} +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +run.test.modulepath=\ + ${javac.test.modulepath} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/NetBeans Projects/Grafica/nbproject/project.xml b/NetBeans Projects/Grafica/nbproject/project.xml new file mode 100644 index 0000000..fa848f7 --- /dev/null +++ b/NetBeans Projects/Grafica/nbproject/project.xml @@ -0,0 +1,16 @@ + + + org.netbeans.modules.java.j2seproject + + + Grafica + + + + + + + + + + diff --git a/NetBeans Projects/shape/src/shape/Circle.java b/NetBeans Projects/Grafica/src/shape/Circle.java similarity index 75% rename from NetBeans Projects/shape/src/shape/Circle.java rename to NetBeans Projects/Grafica/src/shape/Circle.java index 3b00b67..cb5df5b 100644 --- a/NetBeans Projects/shape/src/shape/Circle.java +++ b/NetBeans Projects/Grafica/src/shape/Circle.java @@ -32,8 +32,6 @@ public class Circle extends Shape { @Override public int hashCode() { int hash = 5; - hash = 83 * hash + (int) (Double.doubleToLongBits(this.xc) ^ (Double.doubleToLongBits(this.xc) >>> 32)); - hash = 83 * hash + (int) (Double.doubleToLongBits(this.yc) ^ (Double.doubleToLongBits(this.yc) >>> 32)); hash = 83 * hash + (int) (Double.doubleToLongBits(this.r) ^ (Double.doubleToLongBits(this.r) >>> 32)); return hash; } @@ -43,7 +41,7 @@ public class Circle extends Shape { if (o == null) return false; if (getClass() != o.getClass()) return false; Circle c = (Circle) o; - return Double.compare(xc, c.xc) == 0 && Double.compare(yc, c.yc) == 0 && Double.compare(r, c.r) == 0; + return r == c.r; } @Override diff --git a/NetBeans Projects/Grafica/src/shape/Geometria.java b/NetBeans Projects/Grafica/src/shape/Geometria.java new file mode 100644 index 0000000..ede630b --- /dev/null +++ b/NetBeans Projects/Grafica/src/shape/Geometria.java @@ -0,0 +1,47 @@ +package shape; + +import java.util.ArrayList; +import java.util.Random; +import java.awt.Graphics2D; + +public class Geometria { + private ArrayList elementi; + + public Geometria() { + elementi = new ArrayList<>(); + } + + public void riempiACaso(int size) { + Random r = new Random(); + + for(int i = 0; i < size; i++) { + int s = r.nextInt(3); + + double x = r.nextDouble()*300; + double y = r.nextDouble()*300; + + switch(s) { + case 0: + //circle + double raggio = r.nextDouble()*30; + elementi.add(new Circle(x, y, raggio)); + break; + case 1: + //square + double lato = r.nextDouble()*40; + elementi.add(new Square(x, y, lato)); + break; + case 2: + //triangolo + double base = r.nextDouble()*30; + double altezza = r.nextDouble()*30; + elementi.add(new TriangoloRettangolo(x, y, base, altezza)); + break; + } + } + } + + public void draw(Graphics2D g2) { + for(Shape s : elementi) s.draw(g2); + } +} diff --git a/NetBeans Projects/shape/src/shape/Shape.java b/NetBeans Projects/Grafica/src/shape/Shape.java similarity index 100% rename from NetBeans Projects/shape/src/shape/Shape.java rename to NetBeans Projects/Grafica/src/shape/Shape.java diff --git a/NetBeans Projects/shape/src/shape/ShapesViewer.java b/NetBeans Projects/Grafica/src/shape/ShapesViewer.java similarity index 100% rename from NetBeans Projects/shape/src/shape/ShapesViewer.java rename to NetBeans Projects/Grafica/src/shape/ShapesViewer.java diff --git a/NetBeans Projects/shape/src/shape/Square.java b/NetBeans Projects/Grafica/src/shape/Square.java similarity index 63% rename from NetBeans Projects/shape/src/shape/Square.java rename to NetBeans Projects/Grafica/src/shape/Square.java index 4e6311e..b66f266 100644 --- a/NetBeans Projects/shape/src/shape/Square.java +++ b/NetBeans Projects/Grafica/src/shape/Square.java @@ -8,13 +8,10 @@ import java.awt.Rectangle; * @author radaelli11353 */ public class Square extends Shape { - private double x; - private double y; private double l; public Square(double x, double y, double l) { - this.x = x; - this.y = y; + super(x, y); this.l = l; } @@ -28,22 +25,11 @@ public class Square extends Shape { return l; } - @Override - public double posX() { - return x; - } - - @Override - public double posY() { - return y; - } - @Override public int hashCode() { int hash = 7; - hash = 97 * hash + (int) (Double.doubleToLongBits(this.x) ^ (Double.doubleToLongBits(this.x) >>> 32)); - hash = 97 * hash + (int) (Double.doubleToLongBits(this.y) ^ (Double.doubleToLongBits(this.y) >>> 32)); hash = 97 * hash + (int) (Double.doubleToLongBits(this.l) ^ (Double.doubleToLongBits(this.l) >>> 32)); + hash = 97 * hash + super.hashCode(); return hash; } @@ -52,7 +38,7 @@ public class Square extends Shape { if (o == null) return false; if (getClass() != o.getClass()) return false; Square s = (Square) o; - return Double.compare(l, s.l) == 0 && Double.compare(x, s.x) == 0 && Double.compare(y, s.y) == 0; + return l == s.l; } @Override diff --git a/NetBeans Projects/Grafica/src/shape/Tester.java b/NetBeans Projects/Grafica/src/shape/Tester.java new file mode 100644 index 0000000..597eb3a --- /dev/null +++ b/NetBeans Projects/Grafica/src/shape/Tester.java @@ -0,0 +1,21 @@ +package shape; + +import java.awt.Graphics; +import java.awt.Graphics2D; +import javax.swing.JComponent; + +/** + * + * @author radaelli11353 + */ +public class Tester extends JComponent{ + public void paintComponent(Graphics g) { + Graphics2D g2 = (Graphics2D) g; + + Geometria geom = new Geometria(); + + geom.riempiACaso(10); + + geom.draw(g2); + } +} diff --git a/NetBeans Projects/shape/src/shape/TriangoloRettangolo.java b/NetBeans Projects/Grafica/src/shape/TriangoloRettangolo.java similarity index 56% rename from NetBeans Projects/shape/src/shape/TriangoloRettangolo.java rename to NetBeans Projects/Grafica/src/shape/TriangoloRettangolo.java index c8ec99a..71ba9b5 100644 --- a/NetBeans Projects/shape/src/shape/TriangoloRettangolo.java +++ b/NetBeans Projects/Grafica/src/shape/TriangoloRettangolo.java @@ -11,7 +11,7 @@ public class TriangoloRettangolo extends Shape { private double b; private double h; - public TriangoloRettangolo(double b, double h, double x, double y) { + public TriangoloRettangolo(double x, double y, double b, double h) { super(x, y); this.b = b; this.h = h; @@ -32,33 +32,20 @@ public class TriangoloRettangolo extends Shape { int hash = 3; hash = 53 * hash + (int) (Double.doubleToLongBits(this.b) ^ (Double.doubleToLongBits(this.b) >>> 32)); hash = 53 * hash + (int) (Double.doubleToLongBits(this.h) ^ (Double.doubleToLongBits(this.h) >>> 32)); - hash = 53 * hash + (int) (Double.doubleToLongBits(this.x) ^ (Double.doubleToLongBits(this.x) >>> 32)); - hash = 53 * hash + (int) (Double.doubleToLongBits(this.y) ^ (Double.doubleToLongBits(this.y) >>> 32)); + hash = 53 * hash + super.hashCode(); return hash; } @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { + public boolean equals(Object o) { + if (o == null || getClass() != o.getClass()) { return false; } - if (getClass() != obj.getClass()) { + TriangoloRettangolo t = (TriangoloRettangolo) o; + if (Double.doubleToLongBits(b) != Double.doubleToLongBits(t.b)) { return false; } - final TriangoloRettangolo other = (TriangoloRettangolo) obj; - if (Double.doubleToLongBits(this.b) != Double.doubleToLongBits(other.b)) { - return false; - } - if (Double.doubleToLongBits(this.h) != Double.doubleToLongBits(other.h)) { - return false; - } - if (Double.doubleToLongBits(this.x) != Double.doubleToLongBits(other.x)) { - return false; - } - return Double.doubleToLongBits(this.y) == Double.doubleToLongBits(other.y); + return Double.doubleToLongBits(h) != Double.doubleToLongBits(t.h); } @Override diff --git a/NetBeans Projects/shape/src/shape/Geometria.java b/NetBeans Projects/shape/src/shape/Geometria.java deleted file mode 100644 index 3bc8b36..0000000 --- a/NetBeans Projects/shape/src/shape/Geometria.java +++ /dev/null @@ -1,47 +0,0 @@ -package shape; - -import java.util.ArrayList; -import java.util.Random; -import java.awt.Graphics2D; - -public class Geometria { - private ArrayList elementi; - - public Geometria() { - elementi = new ArrayList<>(); - } - - public void riempiACaso(int size) { - Random r = new Random(); - - for(int i = 0; i < size; i++) { - int s = r.nextInt(3); - - double x = r.nextDouble()*300; - double y = r.nextDouble()*300; - - switch(s) { - case 0: - //circle - double raggio = r.nextDouble()*30; - elementi.add(new Circle(x, y, raggio)); - break; - case 1: - //square - double lato = r.nextDouble()*40; - elementi.add(new Square(lato, x, y)); - break; - case 2: - //triangolo - double base = r.nextDouble()*30; - double altezza = r.nextDouble()*30; - elementi.add(new TriangoloRettangolo(base, altezza, x, y)); - break; - } - } - } - - public void draw(Graphics2D g2) { - for(Shape s : elementi) s.draw(g2); - } -} diff --git a/NetBeans Projects/shape/src/shape/Tester.java b/NetBeans Projects/shape/src/shape/Tester.java deleted file mode 100644 index d2a8c1e..0000000 --- a/NetBeans Projects/shape/src/shape/Tester.java +++ /dev/null @@ -1,33 +0,0 @@ -package shape; - -import java.awt.Graphics; -import java.awt.Graphics2D; -import javax.swing.JComponent; - -/** - * - * @author radaelli11353 - */ -public class Tester extends JComponent{ - /*public static void main(String[] args) { - Shape c1 = new Circle(2, 3, 1); - Shape c2 = new Circle(2, 3, 1); - - System.out.println(c1.posX() + ", " +c1.posY()); - System.out.println(c1.width() + ", " +c1.height()); - System.out.println(c1.equals(c2)); - - ((Circle) c2).setRadius(2); - System.out.println(c2.posX() + ", " + c2.posY()); - }*/ - - public void paintComponent(Graphics g) { - Graphics2D g2 = (Graphics2D) g; - - Geometria geom = new Geometria(); - - geom.riempiACaso(10); - - geom.draw(g2); - } -} From f7c307a2947def0b1d403145e225cbf45f2581c9 Mon Sep 17 00:00:00 2001 From: Giacomo Radaelli Date: Mon, 15 May 2023 18:38:39 +0200 Subject: [PATCH 2/3] Aggiunti esercizi pagine 516-525 --- .../Grafica/src/investment/BankAccount.java | 28 +++++++++++ .../src/investment/InvestmentViewer1.java | 39 ++++++++++++++++ .../src/investment/InvestmentViewer2.java | 46 +++++++++++++++++++ 3 files changed, 113 insertions(+) create mode 100644 NetBeans Projects/Grafica/src/investment/BankAccount.java create mode 100644 NetBeans Projects/Grafica/src/investment/InvestmentViewer1.java create mode 100644 NetBeans Projects/Grafica/src/investment/InvestmentViewer2.java diff --git a/NetBeans Projects/Grafica/src/investment/BankAccount.java b/NetBeans Projects/Grafica/src/investment/BankAccount.java new file mode 100644 index 0000000..b078135 --- /dev/null +++ b/NetBeans Projects/Grafica/src/investment/BankAccount.java @@ -0,0 +1,28 @@ +package investment; + +public class BankAccount { + private double balance; + + public BankAccount() { + balance = 0; + } + + public BankAccount(double initialBalance) { + balance = initialBalance; + } + + public void deposit(double amount) { + double newBalance = balance + amount; + balance = newBalance; + } + + public void withdraw(double amount) { + double newBalance = balance - amount; + balance = newBalance; + } + + public double getBalance() { + return balance; + } +} + diff --git a/NetBeans Projects/Grafica/src/investment/InvestmentViewer1.java b/NetBeans Projects/Grafica/src/investment/InvestmentViewer1.java new file mode 100644 index 0000000..41d5d8d --- /dev/null +++ b/NetBeans Projects/Grafica/src/investment/InvestmentViewer1.java @@ -0,0 +1,39 @@ +package investment; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.JButton; +import javax.swing.JFrame; + +public class InvestmentViewer1 { + private static final int FRAME_WIDTH = 120; + private static final int FRAME_HEIGHT = 60; + + private static final double INTEREST_RATE = 10; + private static final double INITIAL_BALANCE = 1000; + + public static void main(String[] args) { + JFrame frame = new JFrame(); + frame.setSize(FRAME_WIDTH, FRAME_HEIGHT); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + BankAccount account = new BankAccount(INITIAL_BALANCE); + + JButton button = new JButton("Aggiungi interessi"); + frame.add(button); + + class InterestListener implements ActionListener { + public void actionPerformed(ActionEvent event) { + double interest = account.getBalance() * INTEREST_RATE / 100; + account.deposit(interest); + System.out.println("saldo: " + account.getBalance()); + } + } + + ActionListener listener = new InterestListener(); + button.addActionListener(listener); + + frame.setVisible(true); + } +} + diff --git a/NetBeans Projects/Grafica/src/investment/InvestmentViewer2.java b/NetBeans Projects/Grafica/src/investment/InvestmentViewer2.java new file mode 100644 index 0000000..f237b37 --- /dev/null +++ b/NetBeans Projects/Grafica/src/investment/InvestmentViewer2.java @@ -0,0 +1,46 @@ +package investment; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; + +public class InvestmentViewer2 { + private static final int FRAME_WIDTH = 400; + private static final int FRAME_HEIGHT = 100; + + private static final double INTEREST_RATE = 10; + private static final double INITIAL_BALANCE = 1000; + + public static void main(String[] args) { + JFrame frame = new JFrame(); + frame.setSize(FRAME_WIDTH, FRAME_HEIGHT); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + BankAccount account = new BankAccount(INITIAL_BALANCE); + + JButton button = new JButton("Aggiungi interessi"); + JLabel label = new JLabel("Saldo: " + account.getBalance()); + JPanel panel = new JPanel(); + + panel.add(button); + panel.add(label); + frame.add(panel); + + class InterestListener implements ActionListener { + public void actionPerformed(ActionEvent event) { + double interest = account.getBalance() * INTEREST_RATE / 100; + account.deposit(interest); + label.setText("Saldo: " + account.getBalance()); + } + } + + ActionListener listener = new InterestListener(); + button.addActionListener(listener); + + frame.setVisible(true); + } +} + From c50566f7bce222d8106d2878cb5869722309712a Mon Sep 17 00:00:00 2001 From: Giacomo Radaelli Date: Mon, 15 May 2023 18:40:08 +0200 Subject: [PATCH 3/3] Eliminato progetto shape vuoto --- NetBeans Projects/shape/build.xml | 73 - .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../shape/nbproject/build-impl.xml | 1799 ----------------- .../shape/nbproject/genfiles.properties | 8 - .../shape/nbproject/private/config.properties | 0 .../nbproject/private/private.properties | 8 - .../shape/nbproject/private/private.xml | 14 - .../shape/nbproject/project.properties | 97 - NetBeans Projects/shape/nbproject/project.xml | 16 - 10 files changed, 2015 deletions(-) delete mode 100644 NetBeans Projects/shape/build.xml delete mode 100644 NetBeans Projects/shape/build/classes/.netbeans_automatic_build delete mode 100644 NetBeans Projects/shape/build/classes/.netbeans_update_resources delete mode 100644 NetBeans Projects/shape/nbproject/build-impl.xml delete mode 100644 NetBeans Projects/shape/nbproject/genfiles.properties delete mode 100644 NetBeans Projects/shape/nbproject/private/config.properties delete mode 100644 NetBeans Projects/shape/nbproject/private/private.properties delete mode 100644 NetBeans Projects/shape/nbproject/private/private.xml delete mode 100644 NetBeans Projects/shape/nbproject/project.properties delete mode 100644 NetBeans Projects/shape/nbproject/project.xml diff --git a/NetBeans Projects/shape/build.xml b/NetBeans Projects/shape/build.xml deleted file mode 100644 index ebc0e3a..0000000 --- a/NetBeans Projects/shape/build.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - Builds, tests, and runs the project shape. - - - diff --git a/NetBeans Projects/shape/build/classes/.netbeans_automatic_build b/NetBeans Projects/shape/build/classes/.netbeans_automatic_build deleted file mode 100644 index e69de29..0000000 diff --git a/NetBeans Projects/shape/build/classes/.netbeans_update_resources b/NetBeans Projects/shape/build/classes/.netbeans_update_resources deleted file mode 100644 index e69de29..0000000 diff --git a/NetBeans Projects/shape/nbproject/build-impl.xml b/NetBeans Projects/shape/nbproject/build-impl.xml deleted file mode 100644 index d2cdc10..0000000 --- a/NetBeans Projects/shape/nbproject/build-impl.xml +++ /dev/null @@ -1,1799 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set platform.home - Must set platform.bootcp - Must set platform.java - Must set platform.javac - - The J2SE Platform is not correctly set up. - Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. - Either open the project in the IDE and setup the Platform with the same name or add it manually. - For example like this: - ant -Duser.properties.file=<path_to_property_file> jar (where you put the property "platforms.${platform.active}.home" in a .properties file) - or ant -Dplatforms.${platform.active}.home=<path_to_JDK_home> jar (where no properties file is used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set src.dir - Must set test.src.dir - Must set build.dir - Must set dist.dir - Must set build.classes.dir - Must set dist.javadoc.dir - Must set build.test.classes.dir - Must set build.test.results.dir - Must set build.classes.excludes - Must set dist.jar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No tests executed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set JVM to use for profiling in profiler.info.jvm - Must set profiler agent JVM arguments in profiler.info.jvmargs.agent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To run this application from the command line without Ant, try: - - ${platform.java} -jar "${dist.jar.resolved}" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - Must select one file in the IDE or set run.class - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set debug.class - - - - - Must select one file in the IDE or set debug.class - - - - - Must set fix.includes - - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - Must select one file in the IDE or set profile.class - This target only works when run from inside the NetBeans IDE. - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - - - Must select some files in the IDE or set test.includes - - - - - Must select one file in the IDE or set run.class - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - Some tests failed; see details above. - - - - - - - - - Must select some files in the IDE or set test.includes - - - - Some tests failed; see details above. - - - - Must select some files in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - Some tests failed; see details above. - - - - - Must select one file in the IDE or set test.class - - - - Must select one file in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - - - - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/NetBeans Projects/shape/nbproject/genfiles.properties b/NetBeans Projects/shape/nbproject/genfiles.properties deleted file mode 100644 index 1a39892..0000000 --- a/NetBeans Projects/shape/nbproject/genfiles.properties +++ /dev/null @@ -1,8 +0,0 @@ -build.xml.data.CRC32=184eed3a -build.xml.script.CRC32=04b06f70 -build.xml.stylesheet.CRC32=f85dc8f2@1.106.0.48 -# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. -# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=184eed3a -nbproject/build-impl.xml.script.CRC32=677ad60c -nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.106.0.48 diff --git a/NetBeans Projects/shape/nbproject/private/config.properties b/NetBeans Projects/shape/nbproject/private/config.properties deleted file mode 100644 index e69de29..0000000 diff --git a/NetBeans Projects/shape/nbproject/private/private.properties b/NetBeans Projects/shape/nbproject/private/private.properties deleted file mode 100644 index 721cc40..0000000 --- a/NetBeans Projects/shape/nbproject/private/private.properties +++ /dev/null @@ -1,8 +0,0 @@ -compile.on.save=true -do.depend=false -do.jar=true -do.jlink=false -javac.debug=true -javadoc.preview=true -jlink.strip=false -user.properties.file=/home/gicorada/.netbeans/17/build.properties diff --git a/NetBeans Projects/shape/nbproject/private/private.xml b/NetBeans Projects/shape/nbproject/private/private.xml deleted file mode 100644 index e056723..0000000 --- a/NetBeans Projects/shape/nbproject/private/private.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - file:/media/gicorada/Scuola/Anni%20Severi/22-23/Informatica/java-scuola/NetBeans%20Projects/shape/src/shape/Square.java - file:/media/gicorada/Scuola/Anni%20Severi/22-23/Informatica/java-scuola/NetBeans%20Projects/shape/src/shape/Tester.java - file:/media/gicorada/Scuola/Anni%20Severi/22-23/Informatica/java-scuola/NetBeans%20Projects/shape/src/shape/Shape.java - file:/media/gicorada/Scuola/Anni%20Severi/22-23/Informatica/java-scuola/NetBeans%20Projects/shape/src/shape/Circle.java - file:/media/gicorada/Scuola/Anni%20Severi/22-23/Informatica/java-scuola/NetBeans%20Projects/shape/src/shape/TriangoloRettangolo.java - file:/media/gicorada/Scuola/Anni%20Severi/22-23/Informatica/java-scuola/NetBeans%20Projects/shape/src/shape/ShapesViewer.java - - - diff --git a/NetBeans Projects/shape/nbproject/project.properties b/NetBeans Projects/shape/nbproject/project.properties deleted file mode 100644 index 5233b45..0000000 --- a/NetBeans Projects/shape/nbproject/project.properties +++ /dev/null @@ -1,97 +0,0 @@ -annotation.processing.enabled=true -annotation.processing.enabled.in.editor=false -annotation.processing.processors.list= -annotation.processing.run.all.processors=true -annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output -application.title=shape -application.vendor=gicorada -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -build.generated.sources.dir=${build.dir}/generated-sources -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -# Uncomment to specify the preferred debugger connection transport: -#debug.transport=dt_socket -debug.classpath=\ - ${run.classpath} -debug.modulepath=\ - ${run.modulepath} -debug.test.classpath=\ - ${run.test.classpath} -debug.test.modulepath=\ - ${run.test.modulepath} -# Files in build.classes.dir which should be excluded from distribution jar -dist.archive.excludes= -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/shape.jar -dist.javadoc.dir=${dist.dir}/javadoc -dist.jlink.dir=${dist.dir}/jlink -dist.jlink.output=${dist.jlink.dir}/shape -endorsed.classpath= -excludes= -includes=** -jar.compress=false -javac.classpath= -# Space-separated list of extra javac options -javac.compilerargs= -javac.deprecation=false -javac.external.vm=true -javac.modulepath= -javac.processormodulepath= -javac.processorpath=\ - ${javac.classpath} -javac.source=17 -javac.target=17 -javac.test.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -javac.test.modulepath=\ - ${javac.modulepath} -javac.test.processorpath=\ - ${javac.test.classpath} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding=${source.encoding} -javadoc.html5=false -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -# The jlink additional root modules to resolve -jlink.additionalmodules= -# The jlink additional command line parameters -jlink.additionalparam= -jlink.launcher=true -jlink.launcher.name=shape -main.class=shape.ShapesViewer -manifest.file=manifest.mf -meta.inf.dir=${src.dir}/META-INF -mkdist.disabled=false -platform.active=Zulu_17.0.6_10 -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project. -# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. -# To set system properties for unit tests define test-sys-prop.name=value: -run.jvmargs= -run.modulepath=\ - ${javac.modulepath} -run.test.classpath=\ - ${javac.test.classpath}:\ - ${build.test.classes.dir} -run.test.modulepath=\ - ${javac.test.modulepath} -source.encoding=UTF-8 -src.dir=src -test.src.dir=test diff --git a/NetBeans Projects/shape/nbproject/project.xml b/NetBeans Projects/shape/nbproject/project.xml deleted file mode 100644 index 73f848a..0000000 --- a/NetBeans Projects/shape/nbproject/project.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - org.netbeans.modules.java.j2seproject - - - shape - - - - - - - - - -