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