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); - } -}