From 76aa0080c68a78b7d02d83ba7aa9f5c8648a9240 Mon Sep 17 00:00:00 2001 From: Giacomo Radaelli Date: Tue, 23 May 2023 21:49:49 +0200 Subject: [PATCH] Aggiunta grafica e ricorsione --- .gitignore | 2 + NetBeans Projects/Grafica/build.xml | 146 +- .../Grafica/build/built-jar.properties | 4 + NetBeans Projects/Grafica/manifest.mf | 6 +- .../Grafica/nbproject/build-impl.xml | 3570 ++++++++--------- .../Grafica/nbproject/genfiles.properties | 16 +- .../Grafica/nbproject/project.properties | 192 +- .../Grafica/nbproject/project.xml | 31 +- .../Grafica/src/investment/BankAccount.java | 56 +- .../src/investment/InterestListener1.java | 31 + .../src/investment/InterestListener2.java | 35 + .../src/investment/InvestmentViewer1.java | 67 +- .../investment/InvestmentViewer1Lambda.java | 32 + .../src/investment/InvestmentViewer2.java | 84 +- .../investment/InvestmentViewer2Lambda.java | 44 + .../Grafica/src/shape/Circle.java | 106 +- .../Grafica/src/shape/Geometria.java | 94 +- .../Grafica/src/shape/Shape.java | 64 +- .../Grafica/src/shape/ShapesViewer.java | 44 +- .../Grafica/src/shape/Square.java | 100 +- .../Grafica/src/shape/Tester.java | 42 +- .../src/shape/TriangoloRettangolo.java | 124 +- .../src/timer/DateViewer/DateComponent.java | 33 + .../src/timer/DateViewer/DateFrame.java | 33 + .../src/timer/DateViewer/DateViewer.java | 22 + .../MovingRectangle/RectangleComponent.java | 41 + .../timer/MovingRectangle/RectangleFrame.java | 34 + .../MovingRectangle/RectangleViewer.java | 23 + .../RectangleComponent.java | 47 + .../RectangleFrame.java | 34 + .../RectangleViewer.java | 22 + NetBeans Projects/Ricorsione/build.xml | 73 + NetBeans Projects/Ricorsione/manifest.mf | 3 + .../Ricorsione/nbproject/build-impl.xml | 1799 +++++++++ .../Ricorsione/nbproject/genfiles.properties | 8 + .../Ricorsione/nbproject/project.properties | 95 + .../Ricorsione/nbproject/project.xml | 16 + 37 files changed, 4779 insertions(+), 2394 deletions(-) create mode 100644 NetBeans Projects/Grafica/build/built-jar.properties create mode 100644 NetBeans Projects/Grafica/src/investment/InterestListener1.java create mode 100644 NetBeans Projects/Grafica/src/investment/InterestListener2.java create mode 100644 NetBeans Projects/Grafica/src/investment/InvestmentViewer1Lambda.java create mode 100644 NetBeans Projects/Grafica/src/investment/InvestmentViewer2Lambda.java create mode 100644 NetBeans Projects/Grafica/src/timer/DateViewer/DateComponent.java create mode 100644 NetBeans Projects/Grafica/src/timer/DateViewer/DateFrame.java create mode 100644 NetBeans Projects/Grafica/src/timer/DateViewer/DateViewer.java create mode 100644 NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleComponent.java create mode 100644 NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleFrame.java create mode 100644 NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleViewer.java create mode 100644 NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleComponent.java create mode 100644 NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleFrame.java create mode 100644 NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleViewer.java create mode 100644 NetBeans Projects/Ricorsione/build.xml create mode 100644 NetBeans Projects/Ricorsione/manifest.mf create mode 100644 NetBeans Projects/Ricorsione/nbproject/build-impl.xml create mode 100644 NetBeans Projects/Ricorsione/nbproject/genfiles.properties create mode 100644 NetBeans Projects/Ricorsione/nbproject/project.properties create mode 100644 NetBeans Projects/Ricorsione/nbproject/project.xml diff --git a/.gitignore b/.gitignore index 35ba994..2419fc9 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,5 @@ hs_err_pid* /NetBeans Projects/BankAccount/dist/ /NetBeans Projects/Inventory/build/ /NetBeans Projects/Grafica/nbproject/private/ +/NetBeans Projects/Ricorsione/nbproject/private/ +/NetBeans Projects/Ricorsione/build/ diff --git a/NetBeans Projects/Grafica/build.xml b/NetBeans Projects/Grafica/build.xml index a082dee..1e4a30f 100644 --- a/NetBeans Projects/Grafica/build.xml +++ b/NetBeans Projects/Grafica/build.xml @@ -1,73 +1,73 @@ - - - - - - - - - - - Builds, tests, and runs the project Grafica. - - - + + + + + + + + + + + Builds, tests, and runs the project Grafica. + + + diff --git a/NetBeans Projects/Grafica/build/built-jar.properties b/NetBeans Projects/Grafica/build/built-jar.properties new file mode 100644 index 0000000..87f5914 --- /dev/null +++ b/NetBeans Projects/Grafica/build/built-jar.properties @@ -0,0 +1,4 @@ +#Mon, 22 May 2023 12:35:23 +0200 + + +Z\:\\Informatica\\Java\\NetBeans\\Grafica= diff --git a/NetBeans Projects/Grafica/manifest.mf b/NetBeans Projects/Grafica/manifest.mf index 328e8e5..1574df4 100644 --- a/NetBeans Projects/Grafica/manifest.mf +++ b/NetBeans Projects/Grafica/manifest.mf @@ -1,3 +1,3 @@ -Manifest-Version: 1.0 -X-COMMENT: Main-Class will be added automatically by build - +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 index 1d8d5b5..dcfab49 100644 --- a/NetBeans Projects/Grafica/nbproject/build-impl.xml +++ b/NetBeans Projects/Grafica/nbproject/build-impl.xml @@ -1,1799 +1,1771 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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: + + 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 index c685409..cd7d202 100644 --- a/NetBeans Projects/Grafica/nbproject/genfiles.properties +++ b/NetBeans Projects/Grafica/nbproject/genfiles.properties @@ -1,8 +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 +build.xml.data.CRC32=7a406286 +build.xml.script.CRC32=761ebeaf +build.xml.stylesheet.CRC32=f85dc8f2@1.99.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=7a406286 +nbproject/build-impl.xml.script.CRC32=c26710d0 +nbproject/build-impl.xml.stylesheet.CRC32=d549e5cc@1.99.0.48 diff --git a/NetBeans Projects/Grafica/nbproject/project.properties b/NetBeans Projects/Grafica/nbproject/project.properties index 3593b87..fa9adae 100644 --- a/NetBeans Projects/Grafica/nbproject/project.properties +++ b/NetBeans Projects/Grafica/nbproject/project.properties @@ -1,95 +1,97 @@ -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 +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=Grafica +application.vendor=radaelli11353 +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 +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=16 +javac.target=16 +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=default_platform +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 index fa848f7..effe77c 100644 --- a/NetBeans Projects/Grafica/nbproject/project.xml +++ b/NetBeans Projects/Grafica/nbproject/project.xml @@ -1,16 +1,15 @@ - - - org.netbeans.modules.java.j2seproject - - - Grafica - - - - - - - - - - + + + org.netbeans.modules.java.j2seproject + + + Grafica + + + + + + + + + diff --git a/NetBeans Projects/Grafica/src/investment/BankAccount.java b/NetBeans Projects/Grafica/src/investment/BankAccount.java index b078135..b21c8a0 100644 --- a/NetBeans Projects/Grafica/src/investment/BankAccount.java +++ b/NetBeans Projects/Grafica/src/investment/BankAccount.java @@ -1,28 +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; - } -} - +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/InterestListener1.java b/NetBeans Projects/Grafica/src/investment/InterestListener1.java new file mode 100644 index 0000000..371040f --- /dev/null +++ b/NetBeans Projects/Grafica/src/investment/InterestListener1.java @@ -0,0 +1,31 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package investment; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +/** + * + * @author radaelli11353 + */ +class InterestListener1 implements ActionListener { + private static final double INITIAL_BALANCE = 1000; + private final BankAccount account; + private final double INTEREST_RATE; + + public InterestListener1(double interest) { + account = new BankAccount(INITIAL_BALANCE); + INTEREST_RATE = interest; + } + + @Override + public void actionPerformed(ActionEvent event) { + double interest = account.getBalance() * INTEREST_RATE / 100; + account.deposit(interest); + System.out.println("saldo: " + account.getBalance()); + } +} diff --git a/NetBeans Projects/Grafica/src/investment/InterestListener2.java b/NetBeans Projects/Grafica/src/investment/InterestListener2.java new file mode 100644 index 0000000..3a770e5 --- /dev/null +++ b/NetBeans Projects/Grafica/src/investment/InterestListener2.java @@ -0,0 +1,35 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package investment; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.JLabel; + +/** + * + * @author radaelli11353 + */ +class InterestListener2 implements ActionListener { + private static final double INITIAL_BALANCE = 1000; + private BankAccount account; + private final double INTEREST_RATE; + private final JLabel label; + + public InterestListener2(double interest, JLabel label) { + account = new BankAccount(INITIAL_BALANCE); + INTEREST_RATE = interest; + this.label = label; + } + + @Override + public void actionPerformed(ActionEvent event) { + double interest = account.getBalance() * INTEREST_RATE / 100; + account.deposit(interest); + label.setText("Saldo: " + account.getBalance()); + System.out.println(label.getText()); + } +} diff --git a/NetBeans Projects/Grafica/src/investment/InvestmentViewer1.java b/NetBeans Projects/Grafica/src/investment/InvestmentViewer1.java index 41d5d8d..699e2af 100644 --- a/NetBeans Projects/Grafica/src/investment/InvestmentViewer1.java +++ b/NetBeans Projects/Grafica/src/investment/InvestmentViewer1.java @@ -1,39 +1,28 @@ -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); - } -} - +package investment; + +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); + + JButton button = new JButton("Aggiungi interessi"); + frame.add(button); + + ActionListener listener = new InterestListener1(INTEREST_RATE); + button.addActionListener(listener); + + frame.setVisible(true); + } +} + diff --git a/NetBeans Projects/Grafica/src/investment/InvestmentViewer1Lambda.java b/NetBeans Projects/Grafica/src/investment/InvestmentViewer1Lambda.java new file mode 100644 index 0000000..3bb4b80 --- /dev/null +++ b/NetBeans Projects/Grafica/src/investment/InvestmentViewer1Lambda.java @@ -0,0 +1,32 @@ +package investment; + +import javax.swing.JButton; +import javax.swing.JFrame; + +public class InvestmentViewer1Lambda { + 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); + + button.addActionListener(event -> { + double interest = account.getBalance() * INTEREST_RATE / 100; + account.deposit(interest); + System.out.println("Saldo: " + account.getBalance()); + }); + + frame.setVisible(true); + } +} + diff --git a/NetBeans Projects/Grafica/src/investment/InvestmentViewer2.java b/NetBeans Projects/Grafica/src/investment/InvestmentViewer2.java index f237b37..96a8359 100644 --- a/NetBeans Projects/Grafica/src/investment/InvestmentViewer2.java +++ b/NetBeans Projects/Grafica/src/investment/InvestmentViewer2.java @@ -1,46 +1,38 @@ -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); - } -} - +package investment; + +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); + + + ActionListener listener = new InterestListener2(INTEREST_RATE, label); + button.addActionListener(listener); + + frame.setVisible(true); + } +} + diff --git a/NetBeans Projects/Grafica/src/investment/InvestmentViewer2Lambda.java b/NetBeans Projects/Grafica/src/investment/InvestmentViewer2Lambda.java new file mode 100644 index 0000000..044f950 --- /dev/null +++ b/NetBeans Projects/Grafica/src/investment/InvestmentViewer2Lambda.java @@ -0,0 +1,44 @@ +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 InvestmentViewer2Lambda { + 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); + + + ActionListener listener = new InterestListener2(INTEREST_RATE, label); + button.addActionListener(event -> { + double interest = account.getBalance() * INTEREST_RATE / 100; + account.deposit(interest); + label.setText("Saldo: " + account.getBalance()); + System.out.println(label.getText()); + }); + + frame.setVisible(true); + } +} + diff --git a/NetBeans Projects/Grafica/src/shape/Circle.java b/NetBeans Projects/Grafica/src/shape/Circle.java index cb5df5b..733edc2 100644 --- a/NetBeans Projects/Grafica/src/shape/Circle.java +++ b/NetBeans Projects/Grafica/src/shape/Circle.java @@ -1,53 +1,53 @@ -package shape; - -import java.awt.Graphics2D; -import java.awt.geom.Ellipse2D; - -/** - * - * @author radaelli11353 - */ -public class Circle extends Shape { - private double r; - - public Circle(double xc, double yc, double r) { - super(xc-r, yc-r); - this.r = r; - } - - public void setRadius(double r) { - this.r = r; - } - - @Override - public double width() { - return r*2; - } - - @Override - public double height() { - return r*2; - } - - @Override - public int hashCode() { - int hash = 5; - hash = 83 * hash + (int) (Double.doubleToLongBits(this.r) ^ (Double.doubleToLongBits(this.r) >>> 32)); - return hash; - } - - @Override - public boolean equals(Object o) { - if (o == null) return false; - if (getClass() != o.getClass()) return false; - Circle c = (Circle) o; - return r == c.r; - } - - @Override - public void draw(Graphics2D g2) { - Ellipse2D.Double e = new Ellipse2D.Double(posX(), posY(), width(), height()); - - g2.draw(e); - } -} +package shape; + +import java.awt.Graphics2D; +import java.awt.geom.Ellipse2D; + +/** + * + * @author radaelli11353 + */ +public class Circle extends Shape { + private double r; + + public Circle(double xc, double yc, double r) { + super(xc-r, yc-r); + this.r = r; + } + + public void setRadius(double r) { + this.r = r; + } + + @Override + public double width() { + return r*2; + } + + @Override + public double height() { + return r*2; + } + + @Override + public int hashCode() { + int hash = 5; + hash = 83 * hash + (int) (Double.doubleToLongBits(this.r) ^ (Double.doubleToLongBits(this.r) >>> 32)); + return hash; + } + + @Override + public boolean equals(Object o) { + if (o == null) return false; + if (getClass() != o.getClass()) return false; + Circle c = (Circle) o; + return r == c.r; + } + + @Override + public void draw(Graphics2D g2) { + Ellipse2D.Double e = new Ellipse2D.Double(posX(), posY(), width(), height()); + + g2.draw(e); + } +} diff --git a/NetBeans Projects/Grafica/src/shape/Geometria.java b/NetBeans Projects/Grafica/src/shape/Geometria.java index ede630b..0d3b393 100644 --- a/NetBeans Projects/Grafica/src/shape/Geometria.java +++ b/NetBeans Projects/Grafica/src/shape/Geometria.java @@ -1,47 +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); - } -} +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/Grafica/src/shape/Shape.java b/NetBeans Projects/Grafica/src/shape/Shape.java index 87b7c2f..ea179c5 100644 --- a/NetBeans Projects/Grafica/src/shape/Shape.java +++ b/NetBeans Projects/Grafica/src/shape/Shape.java @@ -1,32 +1,32 @@ -package shape; - -import java.awt.Graphics2D; - -/** - * - * @author radaelli11353 - */ -public abstract class Shape implements Comparable { - private double x, y; - - public Shape(double x, double y) { - this.x = x; - this.y = y; - } - - public abstract double width(); - public abstract double height(); - public double posX() { - return x; - } - public double posY() { - return y; - } - - public abstract void draw(Graphics2D g2); - - @Override - public int compareTo(Shape o) { - return Double.compare(width() * height(), o.width() * o.height()); - } -} +package shape; + +import java.awt.Graphics2D; + +/** + * + * @author radaelli11353 + */ +public abstract class Shape implements Comparable { + private double x, y; + + public Shape(double x, double y) { + this.x = x; + this.y = y; + } + + public abstract double width(); + public abstract double height(); + public double posX() { + return x; + } + public double posY() { + return y; + } + + public abstract void draw(Graphics2D g2); + + @Override + public int compareTo(Shape o) { + return Double.compare(width() * height(), o.width() * o.height()); + } +} diff --git a/NetBeans Projects/Grafica/src/shape/ShapesViewer.java b/NetBeans Projects/Grafica/src/shape/ShapesViewer.java index ad9a7ed..66bd501 100644 --- a/NetBeans Projects/Grafica/src/shape/ShapesViewer.java +++ b/NetBeans Projects/Grafica/src/shape/ShapesViewer.java @@ -1,22 +1,22 @@ -package shape; - -import javax.swing.JFrame; - -/** - * - * @author radaelli11353 - */ -public class ShapesViewer { - public static void main(String[] args) { - JFrame frame = new JFrame(); - - frame.setSize(600, 600); - frame.setTitle("Circles"); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - Tester component = new Tester(); - frame.add(component); - - frame.setVisible(true); - } -} +package shape; + +import javax.swing.JFrame; + +/** + * + * @author radaelli11353 + */ +public class ShapesViewer { + public static void main(String[] args) { + JFrame frame = new JFrame(); + + frame.setSize(600, 600); + frame.setTitle("Circles"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + Tester component = new Tester(); + frame.add(component); + + frame.setVisible(true); + } +} diff --git a/NetBeans Projects/Grafica/src/shape/Square.java b/NetBeans Projects/Grafica/src/shape/Square.java index b66f266..17067c5 100644 --- a/NetBeans Projects/Grafica/src/shape/Square.java +++ b/NetBeans Projects/Grafica/src/shape/Square.java @@ -1,50 +1,50 @@ -package shape; - -import java.awt.Graphics2D; -import java.awt.Rectangle; - -/** - * - * @author radaelli11353 - */ -public class Square extends Shape { - private double l; - - public Square(double x, double y, double l) { - super(x, y); - this.l = l; - } - - @Override - public double width() { - return l; - } - - @Override - public double height() { - return l; - } - - @Override - public int hashCode() { - int hash = 7; - hash = 97 * hash + (int) (Double.doubleToLongBits(this.l) ^ (Double.doubleToLongBits(this.l) >>> 32)); - hash = 97 * hash + super.hashCode(); - return hash; - } - - @Override - public boolean equals(Object o) { - if (o == null) return false; - if (getClass() != o.getClass()) return false; - Square s = (Square) o; - return l == s.l; - } - - @Override - public void draw(Graphics2D g2) { - Rectangle r = new Rectangle((int)posX(), (int)posY(), (int)width(), (int)height()); - - g2.draw(r); - } -} +package shape; + +import java.awt.Graphics2D; +import java.awt.Rectangle; + +/** + * + * @author radaelli11353 + */ +public class Square extends Shape { + private double l; + + public Square(double x, double y, double l) { + super(x, y); + this.l = l; + } + + @Override + public double width() { + return l; + } + + @Override + public double height() { + return l; + } + + @Override + public int hashCode() { + int hash = 7; + hash = 97 * hash + (int) (Double.doubleToLongBits(this.l) ^ (Double.doubleToLongBits(this.l) >>> 32)); + hash = 97 * hash + super.hashCode(); + return hash; + } + + @Override + public boolean equals(Object o) { + if (o == null) return false; + if (getClass() != o.getClass()) return false; + Square s = (Square) o; + return l == s.l; + } + + @Override + public void draw(Graphics2D g2) { + Rectangle r = new Rectangle((int)posX(), (int)posY(), (int)width(), (int)height()); + + g2.draw(r); + } +} diff --git a/NetBeans Projects/Grafica/src/shape/Tester.java b/NetBeans Projects/Grafica/src/shape/Tester.java index 597eb3a..8a50498 100644 --- a/NetBeans Projects/Grafica/src/shape/Tester.java +++ b/NetBeans Projects/Grafica/src/shape/Tester.java @@ -1,21 +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); - } -} +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/Grafica/src/shape/TriangoloRettangolo.java b/NetBeans Projects/Grafica/src/shape/TriangoloRettangolo.java index 71ba9b5..22da285 100644 --- a/NetBeans Projects/Grafica/src/shape/TriangoloRettangolo.java +++ b/NetBeans Projects/Grafica/src/shape/TriangoloRettangolo.java @@ -1,62 +1,62 @@ -package shape; - -import java.awt.Graphics2D; -import java.awt.geom.Line2D; - -/** - * - * @author radaelli11353 - */ -public class TriangoloRettangolo extends Shape { - private double b; - private double h; - - public TriangoloRettangolo(double x, double y, double b, double h) { - super(x, y); - this.b = b; - this.h = h; - } - - @Override - public double width() { - return b; - } - - @Override - public double height() { - return h; - } - - @Override - public int hashCode() { - 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 + super.hashCode(); - return hash; - } - - @Override - public boolean equals(Object o) { - if (o == null || getClass() != o.getClass()) { - return false; - } - TriangoloRettangolo t = (TriangoloRettangolo) o; - if (Double.doubleToLongBits(b) != Double.doubleToLongBits(t.b)) { - return false; - } - return Double.doubleToLongBits(h) != Double.doubleToLongBits(t.h); - } - - @Override - public void draw(Graphics2D g2) { - Line2D.Double altezza = new Line2D.Double(posX(), posY(), posX(), posY()+height()); - Line2D.Double base = new Line2D.Double(posX(), posY()+height(), posX()+width(), posY()+height()); - Line2D.Double ipotenusa = new Line2D.Double(posX(), posY(), posX()+width(), posY()+height()); - - g2.draw(altezza); - g2.draw(base); - g2.draw(ipotenusa); - } - -} +package shape; + +import java.awt.Graphics2D; +import java.awt.geom.Line2D; + +/** + * + * @author radaelli11353 + */ +public class TriangoloRettangolo extends Shape { + private double b; + private double h; + + public TriangoloRettangolo(double x, double y, double b, double h) { + super(x, y); + this.b = b; + this.h = h; + } + + @Override + public double width() { + return b; + } + + @Override + public double height() { + return h; + } + + @Override + public int hashCode() { + 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 + super.hashCode(); + return hash; + } + + @Override + public boolean equals(Object o) { + if (o == null || getClass() != o.getClass()) { + return false; + } + TriangoloRettangolo t = (TriangoloRettangolo) o; + if (Double.doubleToLongBits(b) != Double.doubleToLongBits(t.b)) { + return false; + } + return Double.doubleToLongBits(h) != Double.doubleToLongBits(t.h); + } + + @Override + public void draw(Graphics2D g2) { + Line2D.Double altezza = new Line2D.Double(posX(), posY(), posX(), posY()+height()); + Line2D.Double base = new Line2D.Double(posX(), posY()+height(), posX()+width(), posY()+height()); + Line2D.Double ipotenusa = new Line2D.Double(posX(), posY(), posX()+width(), posY()+height()); + + g2.draw(altezza); + g2.draw(base); + g2.draw(ipotenusa); + } + +} diff --git a/NetBeans Projects/Grafica/src/timer/DateViewer/DateComponent.java b/NetBeans Projects/Grafica/src/timer/DateViewer/DateComponent.java new file mode 100644 index 0000000..104d538 --- /dev/null +++ b/NetBeans Projects/Grafica/src/timer/DateViewer/DateComponent.java @@ -0,0 +1,33 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package timer.DateViewer; + +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.util.Date; +import javax.swing.JComponent; + +/** + * + * @author radaelli11353 + */ +public class DateComponent extends JComponent { + private Date now; + + public DateComponent() { + now = new Date(); + } + + public void paintComponent(Graphics g) { + Graphics2D g2 = (Graphics2D) g; + recalculateDate(); + g2.drawString(now.toString(), 100, 100); + } + + public void recalculateDate() { + now = new Date(); + } +} diff --git a/NetBeans Projects/Grafica/src/timer/DateViewer/DateFrame.java b/NetBeans Projects/Grafica/src/timer/DateViewer/DateFrame.java new file mode 100644 index 0000000..e7f5b4a --- /dev/null +++ b/NetBeans Projects/Grafica/src/timer/DateViewer/DateFrame.java @@ -0,0 +1,33 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package timer.DateViewer; + +import javax.swing.JFrame; +import javax.swing.Timer; + +/** + * + * @author radaelli11353 + */ +public class DateFrame extends JFrame { + private static final int FRAME_WIDTH = 300; + private static final int FRAME_HEIGHT = 400; + + private DateComponent scene; + + public DateFrame() { + scene = new DateComponent(); + add(scene); + + setSize(FRAME_WIDTH, FRAME_HEIGHT); + + final int DELAY = 100; + Timer t = new Timer(DELAY, e -> { + scene.repaint(); + }); + t.start(); + } +} diff --git a/NetBeans Projects/Grafica/src/timer/DateViewer/DateViewer.java b/NetBeans Projects/Grafica/src/timer/DateViewer/DateViewer.java new file mode 100644 index 0000000..a547e09 --- /dev/null +++ b/NetBeans Projects/Grafica/src/timer/DateViewer/DateViewer.java @@ -0,0 +1,22 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package timer.DateViewer; + +import javax.swing.JFrame; + +/** + * + * @author radaelli11353 + */ +public class DateViewer { + public static void main(String[] args) { + JFrame frame = new DateFrame(); + frame.setTitle("Date and Hour"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } +} + diff --git a/NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleComponent.java b/NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleComponent.java new file mode 100644 index 0000000..bef9f08 --- /dev/null +++ b/NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleComponent.java @@ -0,0 +1,41 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package timer.MovingRectangle; + +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import javax.swing.JComponent; + +/** + * + * @author radaelli11353 + */ +public class RectangleComponent extends JComponent{ + private static final int BOX_X = 100; + private static final int BOX_Y = 100; + private static final int BOX_WIDTH = 20; + private static final int BOX_HEIGHT = 30; + + private Rectangle box; + + public RectangleComponent() { + box = new Rectangle(BOX_X, BOX_Y, BOX_WIDTH, BOX_HEIGHT); + } + + public void paintComponent(Graphics g) { + Graphics2D g2 = (Graphics2D) g; + g2.draw(box); + } + + public void moveRectangleBy(int dx, int dy) { + box.translate(dx, dy); + repaint(); + } + + + +} diff --git a/NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleFrame.java b/NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleFrame.java new file mode 100644 index 0000000..5a69f28 --- /dev/null +++ b/NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleFrame.java @@ -0,0 +1,34 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package timer.MovingRectangle; + +import javax.swing.JFrame; +import javax.swing.Timer; + +/** + * + * @author radaelli11353 + */ +public class RectangleFrame extends JFrame { + private static final int FRAME_WIDTH = 300; + private static final int FRAME_HEIGHT = 400; + + private RectangleComponent scene; + + public RectangleFrame() { + scene = new RectangleComponent(); + add(scene); + + setSize(FRAME_WIDTH, FRAME_HEIGHT); + + final int DELAY = 100; + Timer t = new Timer(DELAY, e -> { + scene.moveRectangleBy(1, 1); + }); + t.start(); + } + +} diff --git a/NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleViewer.java b/NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleViewer.java new file mode 100644 index 0000000..a3dda58 --- /dev/null +++ b/NetBeans Projects/Grafica/src/timer/MovingRectangle/RectangleViewer.java @@ -0,0 +1,23 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package timer.MovingRectangle; + +import timer.MovingRectangleBorders.RectangleFrame; +import javax.swing.JFrame; + +/** + * + * @author radaelli11353 + */ +public class RectangleViewer { + public static void main(String[] args) { + JFrame frame = new RectangleFrame(); + frame.setTitle("An animated rectangle"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + +} diff --git a/NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleComponent.java b/NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleComponent.java new file mode 100644 index 0000000..dec990f --- /dev/null +++ b/NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleComponent.java @@ -0,0 +1,47 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package timer.MovingRectangleBorders; + +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import javax.swing.JComponent; + +/** + * + * @author radaelli11353 + */ +public class RectangleComponent extends JComponent{ + private static final int BOX_X = 100; + private static final int BOX_Y = 100; + private static final int BOX_WIDTH = 20; + private static final int BOX_HEIGHT = 30; + + private Rectangle box; + private int xMov = 1; + private int yMov = 1; + + public RectangleComponent() { + box = new Rectangle(BOX_X, BOX_Y, BOX_WIDTH, BOX_HEIGHT); + } + + public void paintComponent(Graphics g) { + Graphics2D g2 = (Graphics2D) g; + g2.draw(box); + } + + public void moveRectangle() { + double x = box.getX(); + double y = box.getY(); + xMov = (x + box.getWidth() < getWidth()) ? xMov : -1; + yMov = (y + box.getHeight() < getHeight()) ? yMov : -1; + xMov = (x >= 0) ? xMov : 1; + yMov = (y >= 0) ? yMov : 1; + + box.translate(xMov, yMov); + repaint(); + } +} diff --git a/NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleFrame.java b/NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleFrame.java new file mode 100644 index 0000000..84fc43f --- /dev/null +++ b/NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleFrame.java @@ -0,0 +1,34 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package timer.MovingRectangleBorders; + +import javax.swing.JFrame; +import javax.swing.Timer; + +/** + * + * @author radaelli11353 + */ +public class RectangleFrame extends JFrame { + public static final int FRAME_WIDTH = 300; + public static final int FRAME_HEIGHT = 400; + + private RectangleComponent scene; + + public RectangleFrame() { + scene = new RectangleComponent(); + add(scene); + + setSize(FRAME_WIDTH, FRAME_HEIGHT); + + final int DELAY = 100; + Timer t = new Timer(DELAY, e -> { + scene.moveRectangle(); + }); + t.start(); + } + +} diff --git a/NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleViewer.java b/NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleViewer.java new file mode 100644 index 0000000..50003dd --- /dev/null +++ b/NetBeans Projects/Grafica/src/timer/MovingRectangleBorders/RectangleViewer.java @@ -0,0 +1,22 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package timer.MovingRectangleBorders; + +import javax.swing.JFrame; + +/** + * + * @author radaelli11353 + */ +public class RectangleViewer { + public static void main(String[] args) { + JFrame frame = new RectangleFrame(); + frame.setTitle("An animated rectangle"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setVisible(true); + } + +} diff --git a/NetBeans Projects/Ricorsione/build.xml b/NetBeans Projects/Ricorsione/build.xml new file mode 100644 index 0000000..9d8838f --- /dev/null +++ b/NetBeans Projects/Ricorsione/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Ricorsione. + + + diff --git a/NetBeans Projects/Ricorsione/manifest.mf b/NetBeans Projects/Ricorsione/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/NetBeans Projects/Ricorsione/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/Ricorsione/nbproject/build-impl.xml b/NetBeans Projects/Ricorsione/nbproject/build-impl.xml new file mode 100644 index 0000000..c95d4cf --- /dev/null +++ b/NetBeans Projects/Ricorsione/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/Ricorsione/nbproject/genfiles.properties b/NetBeans Projects/Ricorsione/nbproject/genfiles.properties new file mode 100644 index 0000000..dbf5454 --- /dev/null +++ b/NetBeans Projects/Ricorsione/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=b3c20d1e +build.xml.script.CRC32=f1f4ef54 +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=b3c20d1e +nbproject/build-impl.xml.script.CRC32=151ad6e6 +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.106.0.48 diff --git a/NetBeans Projects/Ricorsione/nbproject/project.properties b/NetBeans Projects/Ricorsione/nbproject/project.properties new file mode 100644 index 0000000..bd0a0aa --- /dev/null +++ b/NetBeans Projects/Ricorsione/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}/Ricorsione.jar +dist.javadoc.dir=${dist.dir}/javadoc +dist.jlink.dir=${dist.dir}/jlink +dist.jlink.output=${dist.jlink.dir}/Ricorsione +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=Ricorsione +main.class=ricorsione.Ricorsione +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/Ricorsione/nbproject/project.xml b/NetBeans Projects/Ricorsione/nbproject/project.xml new file mode 100644 index 0000000..b908aef --- /dev/null +++ b/NetBeans Projects/Ricorsione/nbproject/project.xml @@ -0,0 +1,16 @@ + + + org.netbeans.modules.java.j2seproject + + + Ricorsione + + + + + + + + + +