diff --git a/java/samples/fx/PropetiesFx/build.xml b/java/samples/fx/PropetiesFx/build.xml new file mode 100644 index 0000000..ac87d3d --- /dev/null +++ b/java/samples/fx/PropetiesFx/build.xml @@ -0,0 +1,53 @@ + + Builds, tests, and runs the project PropetiesFx. + + + diff --git a/java/samples/fx/PropetiesFx/build/built-jar.properties b/java/samples/fx/PropetiesFx/build/built-jar.properties new file mode 100644 index 0000000..aa39afd --- /dev/null +++ b/java/samples/fx/PropetiesFx/build/built-jar.properties @@ -0,0 +1,4 @@ +#Fri, 10 Feb 2023 21:22:19 +0300 + + +C\:\\Users\\denis.LAPTOP-4LI8UQ4O\\OneDrive\\\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b\\NetBeansProjects\\PropetiesFx= diff --git a/java/samples/fx/PropetiesFx/build/classes/propetiesfx/PropetiesFx.class b/java/samples/fx/PropetiesFx/build/classes/propetiesfx/PropetiesFx.class new file mode 100644 index 0000000..e9b72b0 Binary files /dev/null and b/java/samples/fx/PropetiesFx/build/classes/propetiesfx/PropetiesFx.class differ diff --git a/java/samples/fx/PropetiesFx/dist/PropetiesFx.html b/java/samples/fx/PropetiesFx/dist/PropetiesFx.html new file mode 100644 index 0000000..f7b94bf --- /dev/null +++ b/java/samples/fx/PropetiesFx/dist/PropetiesFx.html @@ -0,0 +1,45 @@ + + + + + + + +

Test page for PropetiesFx

+ Webstart: click to launch this app as webstart


+ + +
+ diff --git a/java/samples/fx/PropetiesFx/dist/PropetiesFx.jar b/java/samples/fx/PropetiesFx/dist/PropetiesFx.jar new file mode 100644 index 0000000..6ab10e2 Binary files /dev/null and b/java/samples/fx/PropetiesFx/dist/PropetiesFx.jar differ diff --git a/java/samples/fx/PropetiesFx/dist/PropetiesFx.jnlp b/java/samples/fx/PropetiesFx/dist/PropetiesFx.jnlp new file mode 100644 index 0000000..94c2aa7 --- /dev/null +++ b/java/samples/fx/PropetiesFx/dist/PropetiesFx.jnlp @@ -0,0 +1,18 @@ + + + + PropetiesFx + denis + null + + + + + + + + + + + + diff --git a/java/samples/fx/PropetiesFx/dist/web-files/dtjava.js b/java/samples/fx/PropetiesFx/dist/web-files/dtjava.js new file mode 100644 index 0000000..b77ecd7 --- /dev/null +++ b/java/samples/fx/PropetiesFx/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/PropetiesFx/nbproject/private/configs/______________WebStart.properties b/java/samples/fx/PropetiesFx/nbproject/private/configs/______________WebStart.properties new file mode 100644 index 0000000..7a1d99d --- /dev/null +++ b/java/samples/fx/PropetiesFx/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/PropetiesFx/nbproject/private/configs/____________________.properties b/java/samples/fx/PropetiesFx/nbproject/private/configs/____________________.properties new file mode 100644 index 0000000..7a7b6e4 --- /dev/null +++ b/java/samples/fx/PropetiesFx/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/PropetiesFx/nbproject/private/private.properties b/java/samples/fx/PropetiesFx/nbproject/private/private.properties new file mode 100644 index 0000000..2221527 --- /dev/null +++ b/java/samples/fx/PropetiesFx/nbproject/private/private.properties @@ -0,0 +1,4 @@ +auxiliary.org-netbeans-modules-projectapi.issue214819_5f_fx_5f_enabled=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=. +user.properties.file=C:\\Users\\denis.LAPTOP-4LI8UQ4O\\AppData\\Roaming\\NetBeans\\8.2\\build.properties diff --git a/java/samples/fx/PropetiesFx/nbproject/private/private.xml b/java/samples/fx/PropetiesFx/nbproject/private/private.xml new file mode 100644 index 0000000..dd9aeb0 --- /dev/null +++ b/java/samples/fx/PropetiesFx/nbproject/private/private.xml @@ -0,0 +1,9 @@ + + + + + + file:/C:/Users/denis.LAPTOP-4LI8UQ4O/OneDrive/Документы/NetBeansProjects/PropetiesFx/src/propetiesfx/PropetiesFx.java + + + diff --git a/java/samples/fx/PropetiesFx/nbproject/project.properties b/java/samples/fx/PropetiesFx/nbproject/project.properties new file mode 100644 index 0000000..de2c2e4 --- /dev/null +++ b/java/samples/fx/PropetiesFx/nbproject/project.properties @@ -0,0 +1,113 @@ +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=PropetiesFx +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}/PropetiesFx.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.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.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 +# \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=propetiesfx.PropetiesFx +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 +# \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 +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/PropetiesFx/nbproject/project.xml b/java/samples/fx/PropetiesFx/nbproject/project.xml new file mode 100644 index 0000000..42cd191 --- /dev/null +++ b/java/samples/fx/PropetiesFx/nbproject/project.xml @@ -0,0 +1,25 @@ + + + org.netbeans.modules.java.j2seproject + + + + + + + + + + + + + PropetiesFx + + + + + + + + + diff --git a/java/samples/fx/PropetiesFx/property.prop b/java/samples/fx/PropetiesFx/property.prop new file mode 100644 index 0000000..eb81614 --- /dev/null +++ b/java/samples/fx/PropetiesFx/property.prop @@ -0,0 +1,4 @@ +#Fri Feb 10 21:22:42 MSK 2023 +db.password=wertjhgfsdfnjyy +db.user=admin +db.url=jdbc\:derby\://localhost\:1527/PersonsDB diff --git a/java/samples/fx/PropetiesFx/src/propetiesfx/PropetiesFx.java b/java/samples/fx/PropetiesFx/src/propetiesfx/PropetiesFx.java new file mode 100644 index 0000000..ac65c5a --- /dev/null +++ b/java/samples/fx/PropetiesFx/src/propetiesfx/PropetiesFx.java @@ -0,0 +1,125 @@ +/* + * 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 propetiesfx; + +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import javafx.application.Application; +import javafx.geometry.Pos; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.control.TextField; +import javafx.scene.layout.ColumnConstraints; +import javafx.scene.layout.GridPane; +import javafx.stage.Stage; +import java.util.Properties; +import java.util.logging.Level; +import java.util.logging.Logger; +import javafx.scene.control.Alert; + +/** + * + * @author denis + */ +public class PropetiesFx extends Application { + private Properties propeties; + private TextField dbUrlField; + private TextField dbUserField; + private TextField dbPasswordField; + + @Override + public void start(Stage primaryStage) { + propeties = new Properties(); + File propertyFile = new File("property.prop"); + try { + if(!propertyFile.exists()) propertyFile.createNewFile(); + }catch(IOException e) {} + Label dbUrl = new Label("db.url="); + dbUrlField = new TextField(); + Label dbUser = new Label("db.user="); + dbUserField = new TextField(); + Label dbPassword = new Label("db.password="); + dbPasswordField = new TextField(); + Button read = new Button("Read"); + read.setOnAction(e -> getProperties(propertyFile)); + Button save = new Button("Save"); + save.setOnAction(e -> setProperties(propertyFile)); + + GridPane root = new GridPane(); + root.setAlignment(Pos.CENTER); + root.setGridLinesVisible(false); + root.getColumnConstraints().add(new ColumnConstraints(100)); + root.setHgap(5); + root.add(dbUrl, 0, 0, 1, 1); + root.add(dbUrlField, 1, 0, 3, 1); + + root.add(dbUser, 0, 1, 1, 1); + root.add(dbUserField, 1, 1, 3, 1); + + root.add(dbPassword, 0, 2, 1, 1); + root.add(dbPasswordField, 1, 2, 3, 1); + + root.add(read, 1, 3, 1, 1); + root.add(save, 3, 3, 1, 1); + + Scene scene = new Scene(root, 600, 500); + + primaryStage.setTitle("Properties"); + primaryStage.setScene(scene); + primaryStage.show(); + } + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + launch(args); + } + + private void getProperties(File propertyFile){ + try { + propeties.load(new FileReader(propertyFile)); + dbUrlField.setText(propeties.getProperty("db.url")); + dbUserField.setText(propeties.getProperty("db.user")); + dbPasswordField.setText(propeties.getProperty("db.password")); + } catch (IOException ex) { + Logger.getLogger(PropetiesFx.class.getName()).log(Level.SEVERE, null, ex); + } + } + + private void setProperties(File propertyFile){ + String dbUrl = isValid(dbUrlField.getText()) ? dbUrlField.getText() : propeties.getProperty("db.url"); + String dbUser = isValid(dbUserField.getText()) ? dbUserField.getText() : propeties.getProperty("db.user"); + String dbPassword = isValid(dbPasswordField.getText()) ? dbPasswordField.getText() : propeties.getProperty("db.password"); + try { + propeties.setProperty("db.url", dbUrl); + propeties.setProperty("db.user", dbUser); + propeties.setProperty("db.password", dbPassword); + propeties.store(new FileWriter(propertyFile), null); + } catch (IOException ex) { + Logger.getLogger(PropetiesFx.class.getName()).log(Level.SEVERE, null, ex); + } + dbUrlField.setText(dbUrl); + dbUserField.setText(dbUser); + dbPasswordField.setText(dbPassword); + } + + private boolean isValid(String text){ + if(text==null || text.isEmpty()){ + Alert alert = new Alert(Alert.AlertType.WARNING); + alert.setTitle("isValid"); + alert.setHeaderText("Проверка значения ключа!"); + alert.setContentText("Значение ключа не соответствует правилам!"); + alert.showAndWait(); + return false; + } + return true; + } + +}