_5p?)>)ta0(F@}n^PptPCj&Yp1qyZdIwvPC&Sjra1Xj|ba!tL
z#+-YOIwrF6qgCJ>Wd`T}
E00EVqy#N3J
literal 0
HcmV?d00001
diff --git a/build/classes/montecarlopi/Controller.class b/build/classes/montecarlopi/Controller.class
new file mode 100644
index 0000000000000000000000000000000000000000..feea5c35f3a8016b57a234f28d22cd6a25d8cbf6
GIT binary patch
literal 1108
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
literal 0
HcmV?d00001
diff --git a/build/classes/montecarlopi/UpdateThread$1.class b/build/classes/montecarlopi/UpdateThread$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..468a1d7eff74fdbf4793929249fbd15a0d51abe0
GIT binary patch
literal 745
zcmaJ_M-gv*yvCxBcUbbU>|w>jsz5R8
z>$J8ju-LwcO{PMbMDe9=o?dokrcU~alHEO)ebPo}`vS}LXX>`j1PTXnR|(9twNc*&
z7af(H$WBD0(vCwJoykPod&IOW?*mjY8(;#H0epK}L)Akqz&bYQ#8@M0ErF6{
zZAQ}cn%_I;D$IDZC+KKk%;R+z##$)l)Q)
zf9*%C4ab_VZ;f_4d=IPKh#~|$h*HU#z(vXN^YM~sz|%f+hcvctAsWAsyLL5GjJ6Y~
zVw!P&*f)bRGs|Gv1Yi0)ilSL{SmYR@)H8V71jYc*WQT16YGt>~)wNso#3TmL}+P3?Ckp(X|FS`CYH_SyTKy}x};{`l+H-vAuJ_bKee2^}Li
zsi;#rm(v=~=t$yZHzw77RxNq8oKxagb-adxqNXEWbY?ZCv_GbrG-VHp9y$1H-
zh=DzL#(;@MfdM6IkJy>I?Ubc2pf&Ti+kl0#TBL!is2I2gTf=n&H{ckkqN2ey;Gt&V
zefSyz10nc+u%klT;p{!6VAM4%8MujM4Yv$@fDa9PgpUn;f=>m8pTJrxi~>8>)vn<)
z4WAqM0$*zQ%D~t7#=y7uPN3(B(xz`LjX;KHO-W@e)ASXU$1by0lWtjHEZvsORymEX
zVzuJM#O_KLo+j=Ny`~a&Z+i7bD$odK#;h`XTh}s8Y(vU}bsJcqyCTCvD64GAeJvZj
zZF!C(EmeL&c6Kq4{*vlo)%MCLpEQl`X(?a-I!oOwGcq0UW*4thd2aLyOWO|GvK2K3
zxqTg}ib|GIwuAh#&0ZgVYPr+r!4@p0#j!0@xsko#nBi5=uhL_7V3EUy1vk(hw2O7u
zRbJ*)N~5r4>!Izap=Z^7U%Fv-&aTQ!9G9H6(}iNOP|8ov&YUf+461eSGic1^wC!-L
zsj8V8o#N;U94TwfBQ0)zQfko%7uX(gA`FgKsc<%Bi`*6P6jQK5A8dD`v*^}%ODN3-
z?v%+T=`h5l{Cxgmp1sm6+SPaXJWenIlP#-jTv=7{xi${l$h+AJGl$AfetiNl{&B!W
z6h{vCI9QK(j{N6&`ibWR_m?vd5X;2xBc4e#kjOkja^V5G`m_eRhZ;yVpf|7~v;RKC
zfd-6B0~>$ArWh{YjZ~(&4nyO*h3a~cLO(WPD-CT!1_L;T?HHvr(=^6?KTkBP<{$wn
z>Hx+FN>K+1IF2l7;~&{LWrxU#;RW&z^H+k19JoV`>eXpN+WaFXGCxB!(DMTlcORj5
zfo}CZ#Fl&L@5j~#1|DMj?Z`*t=k_z=79VMy$6VEFdq-|tf45J4Wm4jNYuWuS8%
zqFW>U0kIo>1Up3eD4{8^V+4Af^eIA8&TS)*F*^SuUW#C!Zn=4svJ_$VE@(KmrKg)7
tzS2UU<*vL>D%f{O#3IXG5pz?dwHbmWa#6@)n22s2Cms+Vzg)QU^Ebc0VE_OC
literal 0
HcmV?d00001
diff --git a/build/classes/montecarlopi/View.class b/build/classes/montecarlopi/View.class
new file mode 100644
index 0000000000000000000000000000000000000000..92c26c14c78f4ea9c4b3117ba794bccb42e32279
GIT binary patch
literal 5111
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
literal 0
HcmV?d00001
diff --git a/dist/MontecarloPi.html b/dist/MontecarloPi.html
new file mode 100644
index 0000000..109fa27
--- /dev/null
+++ b/dist/MontecarloPi.html
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+Test page for MontecarloPi
+ Webstart: click to launch this app as webstart
+
+
+
+
diff --git a/dist/MontecarloPi.jar b/dist/MontecarloPi.jar
new file mode 100644
index 0000000000000000000000000000000000000000..05b2678a90743ffe5a130cb2c2c4ecf010e1479b
GIT binary patch
literal 10441
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
literal 0
HcmV?d00001
diff --git a/dist/MontecarloPi.jnlp b/dist/MontecarloPi.jnlp
new file mode 100644
index 0000000..5a6bed4
--- /dev/null
+++ b/dist/MontecarloPi.jnlp
@@ -0,0 +1,18 @@
+
+
+
+ MontecarloPi
+ Eduard
+ null
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/web-files/dtjava.js b/dist/web-files/dtjava.js
new file mode 100644
index 0000000..aecf0f2
--- /dev/null
+++ b/dist/web-files/dtjava.js
@@ -0,0 +1,3954 @@
+/*
+ * Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
+ * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ */
+
+/**
+ The Java Deployment Toolkit is a utility to deploy Java content in
+ the browser as applets or applications using the right version of Java.
+ If needed it can initiate an upgrade of user's system to install required
+ components of Java platform.
+
+ Note that some of the Deployment Toolkit methods may not be fully operational if
+ used before web page body is loaded (because DT native plugins could not be instantiated).
+ If you intend to use it before web page DOM tree is ready then dtjava.js
+ needs to be loaded inside the body element of the page and before use of other DT APIs.
+
+ @module java/deployment_toolkit
+*/
+var dtjava = function() {
+ function notNull(o) {
+ return (o != undefined && o != null);
+ }
+
+ function isDef(fn) {
+ return (fn != null && typeof fn != "undefined");
+ }
+
+ //return true if any of patterns from query list is found in the given string
+ function containsAny(lst, str) {
+ for (var q = 0; q < lst.length; q++) {
+ if (str.indexOf(lst[q]) != -1) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /* Location of static web content - images, javascript files. */
+ var jscodebase = (function () {
+ //
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/nbproject/jfx-impl_backup.xml b/nbproject/jfx-impl_backup.xml
new file mode 100644
index 0000000..575cf06
--- /dev/null
+++ b/nbproject/jfx-impl_backup.xml
@@ -0,0 +1,4049 @@
+
+
+
+
+ JavaFX-specific Ant calls
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${cssfileslist}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ self.addMappedName(
+ (source.indexOf("jfxrt.jar") >= 0) ||
+ (source.indexOf("deploy.jar") >= 0) ||
+ (source.indexOf("javaws.jar") >= 0) ||
+ (source.indexOf("plugin.jar") >= 0)
+ ? "" : source
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/nbproject/jfx-impl_backup_1.xml b/nbproject/jfx-impl_backup_1.xml
new file mode 100644
index 0000000..6aeb313
--- /dev/null
+++ b/nbproject/jfx-impl_backup_1.xml
@@ -0,0 +1,4197 @@
+
+
+
+
+ JavaFX-specific Ant calls
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${cssfileslist}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ self.addMappedName(
+ (source.indexOf("jfxrt.jar") >= 0) ||
+ (source.indexOf("deploy.jar") >= 0) ||
+ (source.indexOf("javaws.jar") >= 0) ||
+ (source.indexOf("plugin.jar") >= 0)
+ ? "" : source
+ );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/nbproject/private/configs/Run_as_WebStart.properties b/nbproject/private/configs/Run_as_WebStart.properties
new file mode 100644
index 0000000..86ae865
--- /dev/null
+++ b/nbproject/private/configs/Run_as_WebStart.properties
@@ -0,0 +1,2 @@
+# Do not modify this property in this configuration. It can be re-generated.
+javafx.run.as=webstart
diff --git a/nbproject/private/configs/Run_in_Browser.properties b/nbproject/private/configs/Run_in_Browser.properties
new file mode 100644
index 0000000..f4e8549
--- /dev/null
+++ b/nbproject/private/configs/Run_in_Browser.properties
@@ -0,0 +1,2 @@
+# Do not modify this property in this configuration. It can be re-generated.
+javafx.run.as=embedded
diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties
new file mode 100644
index 0000000..17bc9aa
--- /dev/null
+++ b/nbproject/private/private.properties
@@ -0,0 +1,6 @@
+auxiliary.org-netbeans-modules-projectapi.issue214819_5f_fx_5f_enabled=true
+# No need to modify this property unless customizing JavaFX Ant task infrastructure
+endorsed.javafx.ant.classpath=.
+javafx.run.inbrowser=
+javafx.run.inbrowser.path=C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE
+user.properties.file=C:\\Users\\Gamer\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml
new file mode 100644
index 0000000..fc30bd8
--- /dev/null
+++ b/nbproject/private/private.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ file:/D:/Tobias/NetBeans%20Projects/MonteCarloMethode/src/montecarlopi/MontecarloPi.java
+ file:/D:/Tobias/NetBeans%20Projects/MonteCarloMethode/src/montecarlopi/Model.java
+ file:/D:/Tobias/NetBeans%20Projects/MonteCarloMethode/src/montecarlopi/View.java
+ file:/D:/Tobias/NetBeans%20Projects/MonteCarloMethode/src/montecarlopi/UpdateThread.java
+ file:/D:/Tobias/NetBeans%20Projects/MonteCarloMethode/src/montecarlopi/Controller.java
+
+
+
diff --git a/nbproject/private/profiler/settings.xml b/nbproject/private/profiler/settings.xml
new file mode 100644
index 0000000..4a8619e
--- /dev/null
+++ b/nbproject/private/profiler/settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+#org.netbeans.modules.profiler.v2.features.ThreadsFeature@
+
diff --git a/nbproject/project.properties b/nbproject/project.properties
new file mode 100644
index 0000000..5d9a3c9
--- /dev/null
+++ b/nbproject/project.properties
@@ -0,0 +1,125 @@
+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
+application.title=MontecarloPi
+application.vendor=Eduard
+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
+compile.on.save=true
+compile.on.save.unsupported.javafx=true
+# 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}
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/MontecarloPi.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+endorsed.classpath=
+excludes=
+includes=**
+# Non-JavaFX jar file creation is deactivated in JavaFX 2.0+ projects
+jar.archive.disabled=true
+jar.compress=false
+javac.classpath=\
+ ${javafx.classpath.extension}
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.modulepath=
+javac.processormodulepath=
+javac.processorpath=\
+ ${javac.classpath}
+javac.source=1.8
+javac.target=1.8
+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.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+javafx.application.implementation.version=1.0
+javafx.binarycss=false
+javafx.classpath.extension=\
+ ${java.home}/lib/javaws.jar:\
+ ${java.home}/lib/deploy.jar:\
+ ${java.home}/lib/plugin.jar
+javafx.deploy.allowoffline=true
+# If true, application update mode is set to 'background', if false, update mode is set to 'eager'
+javafx.deploy.backgroundupdate=false
+javafx.deploy.embedJNLP=true
+javafx.deploy.includeDT=true
+# Set true to prevent creation of temporary copy of deployment artifacts before each run (disables concurrent runs)
+javafx.disable.concurrent.runs=false
+# Set true to enable multiple concurrent runs of the same WebStart or Run-in-Browser project
+javafx.enable.concurrent.external.runs=false
+# This is a JavaFX project
+javafx.enabled=true
+javafx.fallback.class=com.javafx.main.NoJavaFXFallback
+# Main class for JavaFX
+javafx.main.class=montecarlopi.MontecarloPi
+javafx.preloader.class=
+# This project does not use Preloader
+javafx.preloader.enabled=false
+javafx.preloader.jar.filename=
+javafx.preloader.jar.path=
+javafx.preloader.project.path=
+javafx.preloader.type=none
+# Set true for GlassFish only. Rebases manifest classpaths of JARs in lib dir. Not usable with signed JARs.
+javafx.rebase.libs=false
+javafx.run.height=600
+javafx.run.width=800
+# Pre-JavaFX 2.0 WebStart is deactivated in JavaFX 2.0+ projects
+jnlp.enabled=false
+# Main class for Java launcher
+main.class=com.javafx.main.Main
+# For improved security specify narrower Codebase manifest attribute to prevent RIAs from being repurposed
+manifest.custom.codebase=*
+# Specify Permissions manifest attribute to override default (choices: sandbox, all-permissions)
+manifest.custom.permissions=
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+platform.active=default_platform
+run.classpath=\
+ ${dist.jar}:\
+ ${javac.classpath}:\
+ ${build.classes.dir}
+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/nbproject/project.xml b/nbproject/project.xml
new file mode 100644
index 0000000..970e467
--- /dev/null
+++ b/nbproject/project.xml
@@ -0,0 +1,25 @@
+
+
+ org.netbeans.modules.java.j2seproject
+
+
+
+
+
+
+
+
+
+
+
+
+ MontecarloPi
+
+
+
+
+
+
+
+
+
diff --git a/src/montecarlopi/Circle.java b/src/montecarlopi/Circle.java
new file mode 100644
index 0000000..5889fcb
--- /dev/null
+++ b/src/montecarlopi/Circle.java
@@ -0,0 +1,37 @@
+package montecarlopi;
+public class Circle {
+ private double diameter;
+
+ public Circle(double diameter) {
+ this.diameter = diameter;
+ }
+
+ public double getRadius() {
+ return diameter/2;
+ }
+
+ public double getDurchmesser() {
+ return diameter;
+ }
+
+ public boolean isInside(Point p) {
+
+ double x = p.getX();
+ double y = p.getY();
+
+ double a = ((float)diameter/2f)-(float)x;
+ double b = ((float)diameter/2f)-(float)y;
+
+ double c = (Math.sqrt(Math.pow(a, 2f) + (Math.pow(b, 2f))));
+
+
+ if(((double)diameter/2f) >= c) {
+ return true;
+ }
+
+ return false;
+ }
+
+
+
+}
diff --git a/src/montecarlopi/Controller.java b/src/montecarlopi/Controller.java
new file mode 100644
index 0000000..138d6ef
--- /dev/null
+++ b/src/montecarlopi/Controller.java
@@ -0,0 +1,35 @@
+package montecarlopi;
+
+public class Controller {
+ private Model m = null;
+ private View v = null;
+
+ public Controller() {
+ m = new Model();
+ v = new View(this);
+
+ m.addObserver(v);
+ }
+
+ public Model getModel() {
+ return m;
+ }
+
+ public View getView() {
+ return v;
+ }
+
+ public void addOne() {
+ m.setExit(false);
+ m.generatePoint();
+ }
+
+ public void addThousand() {
+ m.setExit(false);
+ for(int i = 0; i < 1000; i++) {
+ m.generatePoint();
+ }
+ }
+
+
+}
diff --git a/src/montecarlopi/Model.java b/src/montecarlopi/Model.java
new file mode 100644
index 0000000..c3bb3a7
--- /dev/null
+++ b/src/montecarlopi/Model.java
@@ -0,0 +1,165 @@
+package montecarlopi;
+
+
+import java.util.LinkedList;
+import java.util.Observable;
+import javafx.scene.canvas.Canvas;
+import javafx.scene.canvas.GraphicsContext;
+import javafx.scene.control.ListView;
+import javafx.scene.layout.Pane;
+import javafx.scene.paint.Color;
+
+public class Model extends Observable{
+ private Circle c;
+ private LinkedList list;
+ private Pane pane;
+ private Canvas can;
+ private int in, out, tries;
+ private UpdateThread uT;
+ private int count = 0;
+ private boolean exit;
+ public boolean isExit(){
+ return exit;
+ }
+
+ public Model() {
+ int size = 400;
+ c = new Circle(size);
+ list = new LinkedList<>();
+ pane = new Pane();
+ pane.setPrefSize(size, size);
+ initPane();
+ in = 0;
+ out = 0;
+ tries = 0;
+ }
+
+ public Pane getPane() {
+ return pane;
+ }
+
+ public int getIn() {
+ return in;
+ }
+
+ public int getOut() {
+ return out;
+ }
+
+ public int getTries() {
+ return tries;
+ }
+
+ private void initPane() {
+ initCanvas();
+ pane.getChildren().add(can);
+ }
+
+ private void initCanvas() {
+ can = new Canvas(pane.getPrefHeight(),pane.getPrefWidth());
+ GraphicsContext gc = can.getGraphicsContext2D();
+ gc.clearRect(0, 0, can.getWidth(), can.getHeight());
+ gc.fill();
+ gc.setStroke(Color.BLACK);
+ gc.setLineWidth(1);
+ gc.strokeOval(0, 0, this.c.getDurchmesser() ,this.c.getDurchmesser());
+
+ gc.strokeRect(0, 0, this.c.getDurchmesser() ,this.c.getDurchmesser());
+ }
+ public Point generatePoint() {
+ if(exit)return null;
+
+ double x = (Math.random() * c.getDurchmesser());
+ double y = (Math.random() * c.getDurchmesser());
+
+ Point p = new Point(x,y);
+ addPoint(p);
+
+ return p;
+ }
+
+ public void reset(ListView list1) {
+
+ list = new LinkedList<>();
+ tries = 0;
+ in = 0;
+ out = 0;
+
+ GraphicsContext gc = can.getGraphicsContext2D();
+ gc.clearRect(0, 0, can.getWidth(), can.getHeight());
+
+
+ gc.setStroke(Color.BLACK);
+ gc.setLineWidth(1);
+ gc.strokeOval(0, 0, c.getDurchmesser(), c.getDurchmesser());
+ gc.strokeRect(0, 0, c.getDurchmesser(), c.getDurchmesser());
+ setExit(true);
+ list1.getItems().clear();
+ setChanged();
+ notifyObservers();
+ }
+
+ public void addPoint(Point p) {
+ list.add(p);
+ boolean in = inOrout(p);
+ tries++;
+
+ GraphicsContext gc = can.getGraphicsContext2D();
+
+
+ if(in){
+ gc.setStroke(Color.VIOLET); //inside
+ }else{
+ gc.setStroke(Color.BLUE); //outside
+ }
+ gc.setLineWidth(1);
+ gc.strokeRect((double)p.getX(),(double)p.getY(), 1, 1);
+
+ setChanged();
+ notifyObservers();
+ }
+
+ public void generateAuto (ListView list,int count){
+ setExit(false);
+ UpdateThread ut = new UpdateThread(this, list, count);
+ count++;
+ ut.start();
+
+
+
+ }
+
+ private boolean inOrout(Point p) {
+ if(c.isInside(p)) {
+ in++;
+ return true;
+ }else{
+ out++;
+ }
+ return false;
+ }
+
+ public double getPi() {
+ if(out != 0) {
+ return ((double)in / ((double)out+(double)in)) * 4;
+ }
+
+ return 0;
+ }
+
+
+ void stop(ListView list) {
+ list.getItems().clear();
+ exit=true;
+ }
+
+ public void setExit(boolean exit) {
+ this.exit=exit;
+ }
+
+
+
+
+
+
+}
diff --git a/src/montecarlopi/MontecarloPi.java b/src/montecarlopi/MontecarloPi.java
new file mode 100644
index 0000000..7fff79f
--- /dev/null
+++ b/src/montecarlopi/MontecarloPi.java
@@ -0,0 +1,25 @@
+package montecarlopi;
+
+import javafx.application.Application;
+import javafx.scene.Scene;
+import javafx.scene.layout.Pane;
+import javafx.stage.Stage;
+
+public class MontecarloPi extends Application {
+ @Override
+ public void start(Stage primaryStage) {
+
+ Controller c = new Controller();
+ Pane p = c.getView().getPane();
+ Scene scene = new Scene(p, 680, 400);
+
+ primaryStage.setTitle("Calculation of Pi");
+ primaryStage.setScene(scene);
+ primaryStage.setResizable(false);
+ primaryStage.show();
+ }
+ public static void main(String[] args) {
+ launch(args);
+ }
+
+}
diff --git a/src/montecarlopi/Point.java b/src/montecarlopi/Point.java
new file mode 100644
index 0000000..665eb99
--- /dev/null
+++ b/src/montecarlopi/Point.java
@@ -0,0 +1,24 @@
+package montecarlopi;
+public class Point {
+ private double x,y;
+
+ public Point(double x, double y) {
+ this.x = x;
+ this.y = y;
+ }
+
+ public double getX() {
+ return x;
+ }
+
+ public double getY() {
+ return y;
+ }
+
+ @Override
+ public String toString() {
+ return "("+x+"\\"+y+")";
+ }
+
+
+}
diff --git a/src/montecarlopi/UpdateThread.java b/src/montecarlopi/UpdateThread.java
new file mode 100644
index 0000000..368ab7b
--- /dev/null
+++ b/src/montecarlopi/UpdateThread.java
@@ -0,0 +1,52 @@
+
+package montecarlopi;
+
+import java.util.concurrent.TimeUnit;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javafx.application.Platform;
+import javafx.scene.control.ListView;
+
+/**
+ *
+ * @author tobia
+ */
+public class UpdateThread extends Thread {
+
+ private int i = 0;
+ private Model test;
+
+ public UpdateThread(Model test, ListView list, int count) {
+ setDaemon(true);
+ setName("Thread " + count);
+ this.test = test;
+ list.getItems().add(getName());
+ }
+
+ @Override
+ public void run() {
+
+ while (!this.isInterrupted()) {
+
+ if (test.isExit()) {
+ return;
+ }
+
+ Platform.runLater(new Runnable() {
+ @Override
+ public void run() {
+ test.generatePoint();
+ }
+ });
+
+ try {
+
+ sleep(TimeUnit.MILLISECONDS.toMillis(5));
+ } catch (InterruptedException ex) {
+ Logger.getLogger(UpdateThread.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+
+ }
+
+}
diff --git a/src/montecarlopi/View.java b/src/montecarlopi/View.java
new file mode 100644
index 0000000..83288d8
--- /dev/null
+++ b/src/montecarlopi/View.java
@@ -0,0 +1,125 @@
+package montecarlopi;
+
+import java.util.Observable;
+import java.util.Observer;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.ListView;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.*;
+import javafx.scene.text.Text;
+
+public class View implements Observer {
+
+ private Controller c;
+ private BorderPane masterPane;
+ private Label currPi, in, out, tries, exactPi = null;
+ private int count = 0;
+
+ private ListView list;
+
+
+ public View(Controller c) {
+ this.c = c;
+ initPane();
+ }
+
+ public Controller getController() {
+ return c;
+ }
+
+ public BorderPane getPane() {
+ return masterPane;
+ }
+
+ private void initPane() {
+ masterPane = new BorderPane();
+ currPi = new Label();
+ in = new Label();
+ out = new Label();
+ tries = new Label();
+ exactPi = new Label();
+
+ currPi.setText("Approximation for Pi: 0");
+ in.setText("Inside: 0");
+ out.setText("Outside: 0");
+ tries.setText("Attempt: 0");
+ exactPi.setText("Exact value: 3.1415926");
+
+ GridPane rightSide = new GridPane();
+ rightSide.add(tries, 0, 0);
+ rightSide.add(in, 0, 1);
+ rightSide.add(out, 0, 2);
+ rightSide.add(exactPi, 0, 3);
+ rightSide.add(currPi, 0, 4);
+
+ GridPane buttons = new GridPane();
+ Button add1000, reset, auto, stop;
+
+ GridPane ThreadList = new GridPane();
+ Text text = new Text("running Threads");
+ list = new ListView<>();
+ list.setPrefSize(100, 100);
+
+ VBox box = new VBox();
+ box.getChildren().add(list);
+ ThreadList.add(box, 0, 1);
+ ThreadList.add(text, 0, 0);
+
+ add1000 = new Button();
+ reset = new Button();
+ auto = new Button();
+ stop = new Button();
+
+ add1000.setText("+ 1000");
+ stop.setText("stop Threads");
+ reset.setText("Reset");
+ auto.setText("generate Auto (Thread)");
+
+ buttons.add(add1000, 1, 0);
+ buttons.add(reset, 3, 0);
+ buttons.add(auto, 4, 0);
+ buttons.add(stop, 1, 1);
+
+
+ rightSide.setVgap(5);
+ rightSide.setHgap(5);
+ rightSide.add(buttons, 0, 5);
+ rightSide.add(ThreadList, 0, 6);
+
+ masterPane.setRight(rightSide);
+
+ masterPane.setCenter(c.getModel().getPane());
+
+ add1000.setOnAction(listener -> {
+ c.addThousand();
+ });
+
+ reset.setOnAction(listener -> {
+ c.getModel().reset(list);
+ });
+
+ auto.setOnAction(listener -> {
+ c.getModel().generateAuto(list, count);
+ count++;
+ });
+
+ stop.setOnAction(listener -> {
+ c.getModel().stop(list);
+ count=0;
+ });
+
+ }
+
+ ;
+
+
+ @Override
+ public void update(Observable o, Object arg) {
+ currPi.setText("Approximation for Pi: " + c.getModel().getPi());
+ in.setText("Inside: " + c.getModel().getIn());
+ out.setText("Outside: " + c.getModel().getOut());
+ tries.setText("Attempt: " + c.getModel().getTries());
+ }
+
+}