diff --git a/java/samples/fx/JavaFXTableExampleDist/build.xml b/java/samples/fx/JavaFXTableExampleDist/build.xml new file mode 100644 index 0000000..1f7d74b --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/build.xml @@ -0,0 +1,53 @@ + + Builds, tests, and runs the project JavaFXTableExampleDist. + + + diff --git a/java/samples/fx/JavaFXTableExampleDist/build/built-jar.properties b/java/samples/fx/JavaFXTableExampleDist/build/built-jar.properties new file mode 100644 index 0000000..4398a1e --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/build/built-jar.properties @@ -0,0 +1,4 @@ +#Sat, 25 Feb 2023 13:32:48 +0300 + + +C\:\\Users\\denis.LAPTOP-4LI8UQ4O\\OneDrive\\\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b\\NetBeansProjects\\JavaFXTableExample_dist\\JavaFXTableExampleDist= diff --git a/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Education.class b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Education.class new file mode 100644 index 0000000..26cc181 Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Education.class differ diff --git a/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/EducationStage.class b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/EducationStage.class new file mode 100644 index 0000000..c1b814d Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/EducationStage.class differ diff --git a/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLEducation.fxml b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLEducation.fxml new file mode 100644 index 0000000..0a07947 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLEducation.fxml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLEducationController.class b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLEducationController.class new file mode 100644 index 0000000..29775f6 Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLEducationController.class differ diff --git a/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLMain.fxml b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLMain.fxml new file mode 100644 index 0000000..a78ea8b --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLMain.fxml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLMainController.class b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLMainController.class new file mode 100644 index 0000000..3d2a651 Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/FXMLMainController.class differ diff --git a/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Main.class b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Main.class new file mode 100644 index 0000000..9a7160b Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Main.class differ diff --git a/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Person.class b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Person.class new file mode 100644 index 0000000..e58bc7f Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Person.class differ diff --git a/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/PersonDto.class b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/PersonDto.class new file mode 100644 index 0000000..f2f345d Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/PersonDto.class differ diff --git a/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Repository.class b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Repository.class new file mode 100644 index 0000000..8f3c8ac Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/build/classes/javafxtableexampledist/Repository.class differ diff --git a/java/samples/fx/JavaFXTableExampleDist/dist/JavaFXTableExampleDist.html b/java/samples/fx/JavaFXTableExampleDist/dist/JavaFXTableExampleDist.html new file mode 100644 index 0000000..3d6d847 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/dist/JavaFXTableExampleDist.html @@ -0,0 +1,45 @@ + + + + + + + +

Test page for JavaFXTableExampleDist

+ Webstart: click to launch this app as webstart


+ + +
+ diff --git a/java/samples/fx/JavaFXTableExampleDist/dist/JavaFXTableExampleDist.jar b/java/samples/fx/JavaFXTableExampleDist/dist/JavaFXTableExampleDist.jar new file mode 100644 index 0000000..803542c Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/dist/JavaFXTableExampleDist.jar differ diff --git a/java/samples/fx/JavaFXTableExampleDist/dist/JavaFXTableExampleDist.jnlp b/java/samples/fx/JavaFXTableExampleDist/dist/JavaFXTableExampleDist.jnlp new file mode 100644 index 0000000..dca7703 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/dist/JavaFXTableExampleDist.jnlp @@ -0,0 +1,21 @@ + + + + JavaFXTableExampleDist + denis + null + + + + + + + + + + + + + + + diff --git a/java/samples/fx/JavaFXTableExampleDist/dist/lib/derby.jar b/java/samples/fx/JavaFXTableExampleDist/dist/lib/derby.jar new file mode 100644 index 0000000..1c50529 Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/dist/lib/derby.jar differ diff --git a/java/samples/fx/JavaFXTableExampleDist/dist/lib/derbyclient.jar b/java/samples/fx/JavaFXTableExampleDist/dist/lib/derbyclient.jar new file mode 100644 index 0000000..dde69cd Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/dist/lib/derbyclient.jar differ diff --git a/java/samples/fx/JavaFXTableExampleDist/dist/lib/derbynet.jar b/java/samples/fx/JavaFXTableExampleDist/dist/lib/derbynet.jar new file mode 100644 index 0000000..c51fb78 Binary files /dev/null and b/java/samples/fx/JavaFXTableExampleDist/dist/lib/derbynet.jar differ diff --git a/java/samples/fx/JavaFXTableExampleDist/dist/web-files/dtjava.js b/java/samples/fx/JavaFXTableExampleDist/dist/web-files/dtjava.js new file mode 100644 index 0000000..b77ecd7 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/dist/web-files/dtjava.js @@ -0,0 +1,3958 @@ +/* + * Copyright (c) 2006, 2017, 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/java/samples/fx/JavaFXTableExampleDist/nbproject/private/configs/______________WebStart.properties b/java/samples/fx/JavaFXTableExampleDist/nbproject/private/configs/______________WebStart.properties new file mode 100644 index 0000000..7a1d99d --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/nbproject/private/configs/______________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/java/samples/fx/JavaFXTableExampleDist/nbproject/private/configs/____________________.properties b/java/samples/fx/JavaFXTableExampleDist/nbproject/private/configs/____________________.properties new file mode 100644 index 0000000..7a7b6e4 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/nbproject/private/configs/____________________.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/java/samples/fx/JavaFXTableExampleDist/nbproject/private/private.properties b/java/samples/fx/JavaFXTableExampleDist/nbproject/private/private.properties new file mode 100644 index 0000000..75957f3 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/nbproject/private/private.properties @@ -0,0 +1,12 @@ +auxiliary.org-netbeans-modules-projectapi.issue214819_5f_fx_5f_enabled=true +compile.on.save=true +do.depend=false +do.jar=true +# \u041d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0437\u0430\u0434\u0430\u0447\u0438 JavaFX Ant +endorsed.javafx.ant.classpath=. +javac.debug=true +javadoc.preview=true +javafx.run.as=standalone +javafx.run.inbrowser=<\u0411\u0440\u0430\u0443\u0437\u0435\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e> +javafx.run.inbrowser.path=C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE +user.properties.file=C:\\Users\\denis.LAPTOP-4LI8UQ4O\\AppData\\Roaming\\NetBeans\\8.2\\build.properties diff --git a/java/samples/fx/JavaFXTableExampleDist/nbproject/project.properties b/java/samples/fx/JavaFXTableExampleDist/nbproject/project.properties new file mode 100644 index 0000000..2725cea --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/nbproject/project.properties @@ -0,0 +1,124 @@ +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=JavaFXTableExampleDist +application.vendor=denis +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.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/JavaFXTableExampleDist.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}:\ + ${libs.JAVADB_DRIVER_LABEL.classpath} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +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.adddesktopshortcut=false +javafx.deploy.addstartmenushortcut=false +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.disable.proxy=false +javafx.deploy.embedJNLP=true +javafx.deploy.includeDT=true +javafx.deploy.installpermanently=false +javafx.deploy.permissionselevated=false +# \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 'true' \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432 \u0434\u043e \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 (\u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0438) +javafx.disable.concurrent.runs=false +# \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 'true' \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Run-in-Browser \u0438\u043b\u0438 WebStart +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=javafxtableexampledist.Main +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 +javafx.signing.blob=false +javafx.signing.enabled=false +javafx.signing.type=notsigned +# 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 +# \u0414\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0442\u043e\u0447\u043d\u0435\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0430 Codebase \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f RIA +manifest.custom.codebase=* +# \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0430 Permissions \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b: sandbox, all-permissions) +manifest.custom.permissions= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +native.bundling.enabled=false +platform.active=default_platform +run.classpath=\ + ${dist.jar}:\ + ${javac.classpath}:\ + ${build.classes.dir} +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/java/samples/fx/JavaFXTableExampleDist/nbproject/project.xml b/java/samples/fx/JavaFXTableExampleDist/nbproject/project.xml new file mode 100644 index 0000000..357bd71 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/nbproject/project.xml @@ -0,0 +1,25 @@ + + + org.netbeans.modules.java.j2seproject + + + + + + + + + + + + + JavaFXTableExampleDist + + + + + + + + + diff --git a/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Education.java b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Education.java new file mode 100644 index 0000000..5fdb7b6 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Education.java @@ -0,0 +1,111 @@ +/* + * 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 javafxtableexampledist; + +import java.sql.Date; +import java.util.Objects; + +/** + * + * @author denis + */ +public class Education { + private Integer id; + private String universityname; + private Date dateFinish; + private String city; + private Person person; + + public Education(Integer id, String universityname, Date dateFinish, String city) { + this.id = id; + this.universityname = universityname; + this.dateFinish = dateFinish; + this.city = city; + } + + public Person getPerson() { + return person; + } + + public void setPerson(Person person) { + this.person = person; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUniversityname() { + return universityname; + } + + public void setUniversityname(String universityname) { + this.universityname = universityname; + } + + public Date getDateFinish() { + return dateFinish; + } + + public void setDateFinish(Date dateFinish) { + this.dateFinish = dateFinish; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + @Override + public int hashCode() { + int hash = 7; + hash = 97 * hash + Objects.hashCode(this.id); + hash = 97 * hash + Objects.hashCode(this.universityname); + hash = 97 * hash + Objects.hashCode(this.dateFinish); + hash = 97 * hash + Objects.hashCode(this.city); + return hash; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final Education other = (Education) obj; + if (!Objects.equals(this.universityname, other.universityname)) { + return false; + } + if (!Objects.equals(this.city, other.city)) { + return false; + } + if (!Objects.equals(this.id, other.id)) { + return false; + } + if (!Objects.equals(this.dateFinish, other.dateFinish)) { + return false; + } + return true; + } + + @Override + public String toString() { + return "Education{" + "id=" + id + ", universityname=" + universityname + ", dateFinish=" + dateFinish + ", city=" + city + '}'; + } +} + diff --git a/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/EducationStage.java b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/EducationStage.java new file mode 100644 index 0000000..50ef53a --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/EducationStage.java @@ -0,0 +1,38 @@ +/* + * 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 javafxtableexampledist; + +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.stage.Modality; +import javafx.stage.Stage; + +/** + * + * @author denis + */ +public class EducationStage extends Stage{ + + public void init(Person person){ + Parent root; + try { + FXMLLoader loader = new FXMLLoader(getClass().getResource("FXMLEducation.fxml")); + root = loader.load(); + Scene scene = new Scene(root); + setScene(scene); + initModality(Modality.APPLICATION_MODAL); + ((FXMLEducationController)loader.getController()).initTable(person); + showAndWait(); + } catch (IOException ex) { + Logger.getLogger(EducationStage.class.getName()).log(Level.SEVERE, null, ex); + } + } + +} diff --git a/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLEducation.fxml b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLEducation.fxml new file mode 100644 index 0000000..0a07947 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLEducation.fxml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLEducationController.java b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLEducationController.java new file mode 100644 index 0000000..c52251c --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLEducationController.java @@ -0,0 +1,43 @@ +/* + * 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 javafxtableexampledist; + +import java.net.URL; +import java.util.ResourceBundle; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.control.TableView; +import javafx.scene.control.cell.PropertyValueFactory; + +/** + * FXML Controller class + * + * @author denis + */ +public class FXMLEducationController implements Initializable { + + @FXML + private TableView table; + + @Override + public void initialize(URL url, ResourceBundle rb) { + + table.getColumns().get(0).setCellValueFactory(new PropertyValueFactory<>("id")); + table.getColumns().get(1).setCellValueFactory(new PropertyValueFactory<>("universityname")); + table.getColumns().get(2).setCellValueFactory(new PropertyValueFactory<>("dateFinish")); + table.getColumns().get(3).setCellValueFactory(new PropertyValueFactory<>("city")); + table.getColumns().get(4).setCellValueFactory(new PropertyValueFactory<>("person")); + + } + + public void initTable(Person person){ + ObservableList educations = FXCollections.observableArrayList(new Repository().getEducationByPersonid(person.getId())); + table.setItems(educations); + } + +} diff --git a/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLMain.fxml b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLMain.fxml new file mode 100644 index 0000000..a78ea8b --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLMain.fxml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLMainController.java b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLMainController.java new file mode 100644 index 0000000..63a833e --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/FXMLMainController.java @@ -0,0 +1,78 @@ +/* + * 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 javafxtableexampledist; + +import java.net.URL; +import java.util.List; +import java.util.ResourceBundle; +import java.util.stream.Collectors; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.control.Label; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; +import javafx.scene.control.cell.PropertyValueFactory; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; +import javafx.scene.input.MouseEvent; + +/** + * + * @author denis + */ +public class FXMLMainController implements Initializable { + + @FXML + private TableView table; + @FXML + private TableColumn idCol; + @FXML + private TableColumn firstCol; + @FXML + private TableColumn lastCol; + @FXML + private TableColumn genderCol; + @FXML + private TableColumn countCol; + + @FXML + private void handleClickedAction(MouseEvent event) { + if(event.getClickCount()==2){ + openEducationStage(); + } + } + + @FXML + private void handleKeyPressedAction(KeyEvent event){ + if(event.getCode()==KeyCode.ENTER){ + openEducationStage(); + } + } + + private void openEducationStage(){ + Repository repository = new Repository(); + int idperson = table.getSelectionModel().getSelectedItem().getId(); + Person person = repository.findPersonById(idperson); + new EducationStage().init(person); + } + + @Override + public void initialize(URL url, ResourceBundle rb) { + Repository repository = new Repository(); + List persons = repository.getAllPersonWithEducation(); + List personDto = persons.stream().map(per -> new PersonDto(per)).collect(Collectors.toList()); + idCol.setCellValueFactory(new PropertyValueFactory<>("id")); + firstCol.setCellValueFactory(new PropertyValueFactory<>("firstname")); + lastCol.setCellValueFactory(new PropertyValueFactory<>("lastname")); + genderCol.setCellValueFactory(new PropertyValueFactory<>("gender")); + countCol.setCellValueFactory(new PropertyValueFactory<>("educationCount")); + table.setItems(FXCollections.observableArrayList(personDto)); + } + +} diff --git a/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Main.java b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Main.java new file mode 100644 index 0000000..c9f1e9b --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Main.java @@ -0,0 +1,37 @@ +/* + * 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 javafxtableexampledist; + +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.stage.Stage; + +/** + * + * @author denis + */ +public class Main extends Application { + + @Override + public void start(Stage stage) throws Exception { + Parent root = FXMLLoader.load(getClass().getResource("FXMLMain.fxml")); + + Scene scene = new Scene(root); + + stage.setScene(scene); + stage.show(); + } + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + launch(args); + } + +} diff --git a/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Person.java b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Person.java new file mode 100644 index 0000000..e6974fd --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Person.java @@ -0,0 +1,122 @@ +/* + * 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 javafxtableexampledist; + +import java.util.HashSet; +import java.util.Objects; +import java.util.Set; + +/** + * + * @author denis + */ +public class Person { + + private Integer id; + private String firstname; + private String lastname; + private String gender; + private Set educations = new HashSet<>(); + + public Person(){} + + public Person(Integer id, String firstname, String lastname, String gender) { + this.id = id; + this.firstname = firstname; + this.lastname = lastname; + this.gender = gender; + } + + public void addEducation(Education education){ + educations.add(education); + } + + public Set getEducations() { + return educations; + } + + public void setEducations(Set educations) { + this.educations = educations; + } + + public Integer getId() { + return id; + } + + public String getFirstname() { + return firstname; + } + + public String getLastname() { + return lastname; + } + + public String getGender() { + return gender; + } + + public void setId(Integer id) { + this.id = id; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + public void setGender(String gender) { + this.gender = gender; + } + + + + @Override + public int hashCode() { + int hash = 7; + hash = 97 * hash + Objects.hashCode(this.id); + hash = 97 * hash + Objects.hashCode(this.firstname); + hash = 97 * hash + Objects.hashCode(this.lastname); + hash = 97 * hash + Objects.hashCode(this.gender); + return hash; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final Person other = (Person) obj; + if (!Objects.equals(this.firstname, other.firstname)) { + return false; + } + if (!Objects.equals(this.lastname, other.lastname)) { + return false; + } + if (!Objects.equals(this.gender, other.gender)) { + return false; + } + if (!Objects.equals(this.id, other.id)) { + return false; + } + return true; + } + + + + @Override + public String toString() { + return firstname + " " + lastname + ", " + gender; + } +} diff --git a/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/PersonDto.java b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/PersonDto.java new file mode 100644 index 0000000..20b3402 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/PersonDto.java @@ -0,0 +1,115 @@ +/* + * 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 javafxtableexampledist; + +import java.util.Objects; + +/** + * + * @author denis + */ +public class PersonDto { + + private Integer id; + private String firstname; + private String lastname; + private String gender; + private Integer educationCount; + + public PersonDto(Person person) { + id = person.getId(); + firstname = person.getFirstname(); + lastname = person.getLastname(); + gender = person.getGender(); + educationCount = person.getEducations().size(); + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getFirstname() { + return firstname; + } + + public void setFirstname(String firstname) { + this.firstname = firstname; + } + + public String getLastname() { + return lastname; + } + + public void setLastname(String lastname) { + this.lastname = lastname; + } + + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + + public Integer getEducationCount() { + return educationCount; + } + + public void setEducationCount(Integer educationCount) { + this.educationCount = educationCount; + } + + @Override + public int hashCode() { + int hash = 7; + hash = 73 * hash + Objects.hashCode(this.id); + hash = 73 * hash + Objects.hashCode(this.firstname); + hash = 73 * hash + Objects.hashCode(this.lastname); + hash = 73 * hash + Objects.hashCode(this.gender); + hash = 73 * hash + Objects.hashCode(this.educationCount); + return hash; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final PersonDto other = (PersonDto) obj; + if (!Objects.equals(this.firstname, other.firstname)) { + return false; + } + if (!Objects.equals(this.lastname, other.lastname)) { + return false; + } + if (!Objects.equals(this.gender, other.gender)) { + return false; + } + if (!Objects.equals(this.id, other.id)) { + return false; + } + if (!Objects.equals(this.educationCount, other.educationCount)) { + return false; + } + return true; + } + + @Override + public String toString() { + return "PersonDto{" + "id=" + id + ", firstname=" + firstname + ", lastname=" + lastname + ", gender=" + gender + ", educationCount=" + educationCount + '}'; + } +} diff --git a/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Repository.java b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Repository.java new file mode 100644 index 0000000..a20bf04 --- /dev/null +++ b/java/samples/fx/JavaFXTableExampleDist/src/javafxtableexampledist/Repository.java @@ -0,0 +1,120 @@ +/* + * 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 javafxtableexampledist; + +import java.sql.Connection; +import java.sql.Date; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +/** + * + * @author denis + */ +public class Repository { + + private String url = "jdbc:derby://localhost:1527/TrainingDatabase"; + private String user = "root"; + private String psw = "root"; + + public List getAllPersonWithEducation(){ + List persons = new ArrayList<>(); + try(Connection con = DriverManager.getConnection(url, user, psw); + Statement stm = con.createStatement()){ + try (ResultSet rs = stm.executeQuery("SELECT * FROM PERSON LEFT JOIN EDUCATION ON PERSON.ID=EDUCATION.PERSONID");){ + while(rs.next()){ + int personid = rs.getInt(1); + Person person = persons.stream().filter(per -> per.getId()==personid).findFirst().orElse(null); + if(person==null){ + String firstname = rs.getString(2); + String lastname = rs.getString(3); + String gender = rs.getString(4); + person = new Person(personid, firstname, lastname, gender); + persons.add(person); + } + if(rs.getString(5)!=null){ + int educationid = rs.getInt(5); + Integer educationid2 = Integer.valueOf(rs.getString(5)); + String universityname = rs.getString(6); + Date dateFinish = rs.getDate(7); + String city = rs.getString(8); + Education education = new Education(educationid, universityname, dateFinish, city); + person.addEducation(education); + education.setPerson(person); + } + } + } + }catch (SQLException e){ + e.printStackTrace(); + } + return persons; + } + + public List getAllPerson(){ + List persons = new ArrayList<>(); + try(Connection con = DriverManager.getConnection(url, user, psw); + Statement stm = con.createStatement()){ + try (ResultSet rs = stm.executeQuery("SELECT * FROM PERSON");){ + while(rs.next()){ + int id = rs.getInt(1); + String firstname = rs.getString(2); + String lastname = rs.getString(3); + String gender = rs.getString(4); + persons.add(new Person(id, firstname, lastname, gender)); + } + } + }catch (SQLException e){ + e.printStackTrace(); + } + return persons; + } + + public Person findPersonById(int id){ + Person person = new Person(); + try(Connection con = DriverManager.getConnection(url, user, psw); + Statement stm = con.createStatement()){ + try (ResultSet rs = stm.executeQuery("SELECT * FROM PERSON WHERE id=" + id);){ + if(rs.next()){ + person.setId(rs.getInt(1)); + person.setFirstname(rs.getString(2)); + person.setLastname(rs.getString(3)); + person.setGender(rs.getString(4)); + } + } + }catch (SQLException e){ + e.printStackTrace(); + } + return person; + } + + public List getEducationByPersonid(int personid){ + List educations = new ArrayList<>(); + + try(Connection con = DriverManager.getConnection(url, user, psw); + Statement stm = con.createStatement()){ + try (ResultSet rs = stm.executeQuery("SELECT * FROM EDUCATION WHERE PERSONID=" + personid)){ + while(rs.next()){ + int id = rs.getInt(1); + String universityname = rs.getString(2); + Date dateFinish = rs.getDate(3); + String city = rs.getString(4); + Education education = new Education(id, universityname, dateFinish, city); + education.setPerson(findPersonById(personid)); + educations.add(education); + } + } + }catch (SQLException e){ + e.printStackTrace(); + } + + return educations; + } + +}