From ba5de67d2de34874e8c4247be65b69d92d581a47 Mon Sep 17 00:00:00 2001 From: valen <valen@LAPTOP-0KHSH03S.home> Date: Mon, 7 Apr 2025 00:43:34 +0200 Subject: [PATCH] avec les bouton entrer --- nbproject/project.properties | 278 +++++++++--------- .../AdministrationPageController.java | 14 +- .../Controller/ConnexionPageController.java | 13 +- src/ui/Controller/ManipController.java | 10 + src/ui/Controller/PageExamenController.java | 2 + src/ui/Controller/Radio_ManipController.java | 10 + .../Controller/RadiologuePageController.java | 9 + src/ui/fxml/AdministrationPage.fxml | 2 +- src/ui/fxml/Manip.fxml | 2 +- src/ui/fxml/Radio_Manip.fxml | 2 +- src/ui/fxml/RadiologuePage.fxml | 2 +- src/ui/fxml/connexionPage.fxml | 2 +- 12 files changed, 193 insertions(+), 153 deletions(-) diff --git a/nbproject/project.properties b/nbproject/project.properties index 71d9fbf..20b5033 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -1,139 +1,139 @@ -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=SIR -application.vendor=valen -auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -build.generated.sources.dir=${build.dir}/generated-sources -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -# Uncomment to specify the preferred debugger connection transport: -#debug.transport=dt_socket -debug.classpath=\ - ${run.classpath} -debug.modulepath=\ - ${run.modulepath} -debug.test.classpath=\ - ${run.test.classpath} -debug.test.modulepath=\ - ${run.test.modulepath} -# Files in build.classes.dir which should be excluded from distribution jar -dist.archive.excludes= -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/SIR.jar -dist.javadoc.dir=${dist.dir}/javadoc -dist.jlink.dir=${dist.dir}/jlink -dist.jlink.output=${dist.jlink.dir}/SIR -endorsed.classpath= -excludes= -file.reference.javafx-swt.jar=javafx-sdk-21.0.6/lib/javafx-swt.jar -file.reference.javafx.base.jar=javafx-sdk-21.0.6/lib/javafx.base.jar -file.reference.javafx.controls.jar=javafx-sdk-21.0.6/lib/javafx.controls.jar -file.reference.javafx.fxml.jar=javafx-sdk-21.0.6/lib/javafx.fxml.jar -file.reference.javafx.graphics.jar=javafx-sdk-21.0.6/lib/javafx.graphics.jar -file.reference.javafx.media.jar=javafx-sdk-21.0.6/lib/javafx.media.jar -file.reference.javafx.swing.jar=javafx-sdk-21.0.6/lib/javafx.swing.jar -file.reference.javafx.web.jar=javafx-sdk-21.0.6/lib/javafx.web.jar -file.reference.ojdbc17.jar=libs/ojdbc17.jar -includes=** -jar.archive.disabled=${jnlp.enabled} -jar.compress=false -jar.index=${jnlp.enabled} -javac.classpath=\ - ${file.reference.ojdbc17.jar} -# Space-separated list of extra javac options -javac.compilerargs=\ --enable-preview -javac.deprecation=false -javac.external.vm=true -javac.modulepath=\ - ${file.reference.javafx-swt.jar}:\ - ${file.reference.javafx.base.jar}:\ - ${file.reference.javafx.controls.jar}:\ - ${file.reference.javafx.fxml.jar}:\ - ${file.reference.javafx.graphics.jar}:\ - ${file.reference.javafx.media.jar}:\ - ${file.reference.javafx.swing.jar}:\ - ${file.reference.javafx.web.jar} -javac.processormodulepath= -javac.processorpath=\ - ${javac.classpath} - -javac.source=22 -javac.target=22 - -javac.test.classpath=\ - ${javac.classpath} -javac.test.modulepath=\ - ${javac.modulepath}:\ - ${build.classes.dir} -javac.test.processorpath=\ - ${javac.test.classpath} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding=${source.encoding} -javadoc.html5=false -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -# The jlink additional root modules to resolve -jlink.additionalmodules= -# The jlink additional command line parameters -jlink.additionalparam= -jlink.launcher=true -jlink.launcher.name=SIR -jnlp.codebase.type=no.codebase -jnlp.descriptor=application -jnlp.enabled=false -jnlp.mixed.code=default -jnlp.offline-allowed=false -jnlp.signed=false -jnlp.signing= -jnlp.signing.alias= -jnlp.signing.keystore= -main.class=ui.loader.ConnexionPage -# Optional override of default Application-Library-Allowable-Codebase attribute identifying the locations where your signed RIA is expected to be found. -manifest.custom.application.library.allowable.codebase= -# Optional override of default Caller-Allowable-Codebase attribute identifying the domains from which JavaScript code can make calls to your RIA without security prompts. -manifest.custom.caller.allowable.codebase= -# Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed -manifest.custom.codebase= -# Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions) -manifest.custom.permissions= -manifest.file=manifest.mf -meta.inf.dir=${src.dir}/META-INF -mkdist.disabled=false -platform.active=default_platform -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project. -# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. -# To set system properties for unit tests define test-sys-prop.name=value: -run.jvmargs=\ --enable-preview -run.modulepath=\ - ${javac.modulepath} -run.test.classpath=\ - ${javac.test.classpath} -run.test.modulepath=\ - ${javac.test.modulepath} -source.encoding=UTF-8 -src.dir=src -test.src.dir=test -javac.classpath=\ - ${file.reference.ojdbc17.jar} - +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=SIR +application.vendor=valen +auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.modulepath=\ + ${run.modulepath} +debug.test.classpath=\ + ${run.test.classpath} +debug.test.modulepath=\ + ${run.test.modulepath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/SIR.jar +dist.javadoc.dir=${dist.dir}/javadoc +dist.jlink.dir=${dist.dir}/jlink +dist.jlink.output=${dist.jlink.dir}/SIR +endorsed.classpath= +excludes= +file.reference.javafx-swt.jar=javafx-sdk-21.0.6/lib/javafx-swt.jar +file.reference.javafx.base.jar=javafx-sdk-21.0.6/lib/javafx.base.jar +file.reference.javafx.controls.jar=javafx-sdk-21.0.6/lib/javafx.controls.jar +file.reference.javafx.fxml.jar=javafx-sdk-21.0.6/lib/javafx.fxml.jar +file.reference.javafx.graphics.jar=javafx-sdk-21.0.6/lib/javafx.graphics.jar +file.reference.javafx.media.jar=javafx-sdk-21.0.6/lib/javafx.media.jar +file.reference.javafx.swing.jar=javafx-sdk-21.0.6/lib/javafx.swing.jar +file.reference.javafx.web.jar=javafx-sdk-21.0.6/lib/javafx.web.jar +file.reference.ojdbc17.jar=libs/ojdbc17.jar +includes=** +jar.archive.disabled=${jnlp.enabled} +jar.compress=false +jar.index=${jnlp.enabled} +javac.classpath=\ + ${file.reference.ojdbc17.jar} +# Space-separated list of extra javac options +javac.compilerargs=\ --enable-preview +javac.deprecation=false +javac.external.vm=true +javac.modulepath=\ + ${file.reference.javafx-swt.jar}:\ + ${file.reference.javafx.base.jar}:\ + ${file.reference.javafx.controls.jar}:\ + ${file.reference.javafx.fxml.jar}:\ + ${file.reference.javafx.graphics.jar}:\ + ${file.reference.javafx.media.jar}:\ + ${file.reference.javafx.swing.jar}:\ + ${file.reference.javafx.web.jar} +javac.processormodulepath= +javac.processorpath=\ + ${javac.classpath} + +javac.source=23 +javac.target=23 + +javac.test.classpath=\ + ${javac.classpath} +javac.test.modulepath=\ + ${javac.modulepath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.html5=false +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +# The jlink additional root modules to resolve +jlink.additionalmodules= +# The jlink additional command line parameters +jlink.additionalparam= +jlink.launcher=true +jlink.launcher.name=SIR +jnlp.codebase.type=no.codebase +jnlp.descriptor=application +jnlp.enabled=false +jnlp.mixed.code=default +jnlp.offline-allowed=false +jnlp.signed=false +jnlp.signing= +jnlp.signing.alias= +jnlp.signing.keystore= +main.class=ui.loader.ConnexionPage +# Optional override of default Application-Library-Allowable-Codebase attribute identifying the locations where your signed RIA is expected to be found. +manifest.custom.application.library.allowable.codebase= +# Optional override of default Caller-Allowable-Codebase attribute identifying the domains from which JavaScript code can make calls to your RIA without security prompts. +manifest.custom.caller.allowable.codebase= +# Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed +manifest.custom.codebase= +# Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions) +manifest.custom.permissions= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs=\ --enable-preview +run.modulepath=\ + ${javac.modulepath} +run.test.classpath=\ + ${javac.test.classpath} +run.test.modulepath=\ + ${javac.test.modulepath} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test +javac.classpath=\ + ${file.reference.ojdbc17.jar} + diff --git a/src/ui/Controller/AdministrationPageController.java b/src/ui/Controller/AdministrationPageController.java index e123ab8..08c685b 100644 --- a/src/ui/Controller/AdministrationPageController.java +++ b/src/ui/Controller/AdministrationPageController.java @@ -22,6 +22,8 @@ import javafx.fxml.FXMLLoader; import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.Scene; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; import javafx.scene.layout.VBox; import javafx.stage.Stage; import javafx.util.Pair; @@ -65,6 +67,7 @@ public class AdministrationPageController { this.admin = admin; updateWelcomeMessage(); } + @FXML private void updateWelcomeMessage() { if (admin != null && welcomeLabel != null) { @@ -128,6 +131,13 @@ public class AdministrationPageController { } } + @FXML + private void toucheEntrer(KeyEvent event) { + if (event.getCode() == KeyCode.ENTER) { + recherchePatient(); // Appelle la méthode comme si le bouton était cliqué + } + } + private void actionSurSelection(String ipp) { Dmr dmr = new Dmr(); List<Dmr> dmrs = dmr.recupererDMR(ipp); @@ -178,11 +188,11 @@ public class AdministrationPageController { String req = "UPDATE dmr SET activer = 1 WHERE ID_DMR = " + selectedDmr.getId_dmr(); boolean insertionReussie = ConnexionDataBase.sqlUpdate(req); - + if (insertionReussie) { messageLabel.setText("DMR chargé avec succès"); } else { messageLabel.setText("Erreur lors du chargement du DMR"); } } -} \ No newline at end of file +} diff --git a/src/ui/Controller/ConnexionPageController.java b/src/ui/Controller/ConnexionPageController.java index 1d123de..4fd9ed1 100644 --- a/src/ui/Controller/ConnexionPageController.java +++ b/src/ui/Controller/ConnexionPageController.java @@ -13,7 +13,8 @@ import fc.model.Radiologue; import fc.model.Administration; import fc.model.Manipulateur; import fc.MessageDErreur; -import java.awt.event.KeyEvent; +import javafx.scene.input.KeyEvent; + import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; @@ -112,13 +113,11 @@ public class ConnexionPageController implements Initializable { } @FXML - public void toucheEntrer(KeyEvent event) { - // Vérifier si la touche appuyée est la touche "Entrée" - if (event.getKeyCode() == KeyCode.ENTER.getCode()) { - handleButtonValider(); - // Effectuer l'action désirée lorsque la touche Entrée est pressée - } + private void toucheEntrer(KeyEvent event) { + if (event.getCode() == KeyCode.ENTER) { + handleButtonValider(); // Appelle la méthode comme si le bouton était cliqué } +} @Override public void initialize(URL url, ResourceBundle rb) { diff --git a/src/ui/Controller/ManipController.java b/src/ui/Controller/ManipController.java index f30ed81..ef44e3f 100644 --- a/src/ui/Controller/ManipController.java +++ b/src/ui/Controller/ManipController.java @@ -25,6 +25,8 @@ import javafx.scene.image.ImageView; import javafx.stage.Stage; import javafx.util.Pair; import javafx.scene.control.TableView; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; public class ManipController implements Initializable { @@ -189,6 +191,14 @@ public class ManipController implements Initializable { tableViewPatient.setItems(FXCollections.observableArrayList(result.getKey())); } + + + @FXML + private void toucheEntrer(KeyEvent event) { + if (event.getCode() == KeyCode.ENTER) { + actionRechercher(); // Appelle la méthode comme si le bouton était cliqué + } + } @FXML private void actionDeconnexion(ActionEvent event) { diff --git a/src/ui/Controller/PageExamenController.java b/src/ui/Controller/PageExamenController.java index 2073795..8943ecc 100644 --- a/src/ui/Controller/PageExamenController.java +++ b/src/ui/Controller/PageExamenController.java @@ -24,6 +24,8 @@ import javafx.scene.control.Label; import javafx.scene.control.TextArea; import javafx.scene.image.Image; import javafx.scene.image.ImageView; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; import javafx.stage.Stage; /** diff --git a/src/ui/Controller/Radio_ManipController.java b/src/ui/Controller/Radio_ManipController.java index 59fc222..0250851 100644 --- a/src/ui/Controller/Radio_ManipController.java +++ b/src/ui/Controller/Radio_ManipController.java @@ -24,6 +24,8 @@ import javafx.scene.control.*; import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.image.Image; import javafx.scene.image.ImageView; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; import javafx.stage.Stage; import javafx.util.Pair; @@ -206,6 +208,14 @@ public class Radio_ManipController implements Initializable { tableViewPatient.setItems(FXCollections.observableArrayList(result.getKey())); } + + @FXML + private void toucheEntrer(KeyEvent event) { + if (event.getCode() == KeyCode.ENTER) { + actionRechercher(); // Appelle la méthode comme si le bouton était cliqué + } + } + @FXML private void actionDeconnexion(ActionEvent event) { diff --git a/src/ui/Controller/RadiologuePageController.java b/src/ui/Controller/RadiologuePageController.java index ddb89c3..05b5da0 100644 --- a/src/ui/Controller/RadiologuePageController.java +++ b/src/ui/Controller/RadiologuePageController.java @@ -18,6 +18,8 @@ import javafx.fxml.FXMLLoader; import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.Scene; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; import javafx.stage.Stage; import javafx.util.Pair; @@ -229,6 +231,13 @@ private void actionSurSelectionExamen(Examen examen) { tableViewPatient.setItems(FXCollections.observableArrayList(result.getKey())); } + @FXML + private void toucheEntrer(KeyEvent event) { + if (event.getCode() == KeyCode.ENTER) { + actionRechercher(); // Appelle la méthode comme si le bouton était cliqué + } + } + @FXML private void ouvertureManip(ActionEvent event) { try { diff --git a/src/ui/fxml/AdministrationPage.fxml b/src/ui/fxml/AdministrationPage.fxml index 4308881..097565a 100644 --- a/src/ui/fxml/AdministrationPage.fxml +++ b/src/ui/fxml/AdministrationPage.fxml @@ -41,7 +41,7 @@ <Label style="-fx-font-size: 18px; -fx-text-fill: #2c3e50; -fx-font-weight: bold;" text="Rechercher un patient" /> <HBox alignment="CENTER_LEFT" spacing="10"> - <TextField fx:id="fieldRecherhe" promptText="Nom, prénom ou n° sécurité sociale" style="-fx-background-radius: 3; -fx-border-color: #bdc3c7; -fx-border-radius: 3; -fx-pref-width: 500;" /> + <TextField fx:id="fieldRecherhe" onKeyPressed="#toucheEntrer" promptText="Nom, prénom ou n° sécurité sociale" style="-fx-background-radius: 3; -fx-border-color: #bdc3c7; -fx-border-radius: 3; -fx-pref-width: 500;" /> <Button onAction="#recherchePatient" style="-fx-background-color: #3498db; -fx-text-fill: white; -fx-font-weight: bold; -fx-padding: 5 20;" text="Rechercher" /> </HBox> diff --git a/src/ui/fxml/Manip.fxml b/src/ui/fxml/Manip.fxml index 6ef307b..42e4ec2 100644 --- a/src/ui/fxml/Manip.fxml +++ b/src/ui/fxml/Manip.fxml @@ -47,7 +47,7 @@ <VBox spacing="15" style="-fx-padding: 15;"> <HBox alignment="CENTER" spacing="10" style="-fx-padding: 10 0 0 0;"> - <TextField fx:id="fieldRecherhe" promptText="Rechercher un patient..." style="-fx-pref-width: 400; -fx-pref-height: 35;" /> + <TextField fx:id="fieldRecherhe" onKeyPressed="#toucheEntrer" promptText="Rechercher un patient..." style="-fx-pref-width: 400; -fx-pref-height: 35;" /> <Button onAction="#actionRechercher" style="-fx-background-color: #2c3e50; -fx-text-fill: white; -fx-pref-height: 35;" text="Rechercher" /> </HBox> <Label style="-fx-font-size: 16; -fx-font-weight: bold; -fx-text-fill: #2c3e50;" text="Liste des patients" /> diff --git a/src/ui/fxml/Radio_Manip.fxml b/src/ui/fxml/Radio_Manip.fxml index 817dd3f..7bb721e 100644 --- a/src/ui/fxml/Radio_Manip.fxml +++ b/src/ui/fxml/Radio_Manip.fxml @@ -45,7 +45,7 @@ <VBox spacing="15" style="-fx-padding: 15;"> <HBox alignment="CENTER" spacing="10" style="-fx-padding: 10 0 0 0;"> - <TextField fx:id="fieldRecherhe" promptText="Rechercher un patient..." style="-fx-pref-width: 400; -fx-pref-height: 35;" /> + <TextField fx:id="fieldRecherhe" onKeyPressed="#toucheEntrer" promptText="Rechercher un patient..." style="-fx-pref-width: 400; -fx-pref-height: 35;" /> <Button onAction="#actionRechercher" style="-fx-background-color: #2c3e50; -fx-text-fill: white; -fx-pref-height: 35;" text="Rechercher" /> </HBox> <Label style="-fx-font-size: 16; -fx-font-weight: bold; -fx-text-fill: #2c3e50;" text="Liste des patients" /> diff --git a/src/ui/fxml/RadiologuePage.fxml b/src/ui/fxml/RadiologuePage.fxml index 8a0a317..9a46d17 100644 --- a/src/ui/fxml/RadiologuePage.fxml +++ b/src/ui/fxml/RadiologuePage.fxml @@ -39,7 +39,7 @@ <VBox spacing="15" style="-fx-padding: 15;"> <HBox alignment="CENTER" spacing="10" style="-fx-padding: 10 0 0 0;"> - <TextField fx:id="fieldRecherhe" promptText="Rechercher un patient..." style="-fx-pref-width: 400; -fx-pref-height: 35;" /> + <TextField fx:id="fieldRecherhe" onKeyPressed="#toucheEntrer" promptText="Rechercher un patient..." style="-fx-pref-width: 400; -fx-pref-height: 35;" /> <Button onAction="#actionRechercher" style="-fx-background-color: #2c3e50; -fx-text-fill: white; -fx-pref-height: 35;" text="Rechercher" /> </HBox> <Label style="-fx-font-size: 16; -fx-font-weight: bold; -fx-text-fill: #2c3e50;" text="Liste des patients" /> diff --git a/src/ui/fxml/connexionPage.fxml b/src/ui/fxml/connexionPage.fxml index b9a0532..d5f15a9 100644 --- a/src/ui/fxml/connexionPage.fxml +++ b/src/ui/fxml/connexionPage.fxml @@ -45,7 +45,7 @@ <VBox alignment="CENTER_LEFT" spacing="5"> <Label style="-fx-text-fill: #2c3e50; -fx-font-weight: bold;" text="Mot de passe" /> - <PasswordField fx:id="passwordField" promptText="Entrez votre mot de passe" style="-fx-pref-width: 280; -fx-pref-height: 40; -fx-background-radius: 5; -fx-border-radius: 5; -fx-border-color: #bdc3c7; -fx-border-width: 1;" /> + <PasswordField fx:id="passwordField" onKeyPressed="#toucheEntrer" promptText="Entrez votre mot de passe" style="-fx-pref-width: 280; -fx-pref-height: 40; -fx-background-radius: 5; -fx-border-radius: 5; -fx-border-color: #bdc3c7; -fx-border-width: 1;" /> </VBox> <Label fx:id="errorLabel" style="-fx-text-fill: #e74c3c; -fx-wrap-text: true; -fx-max-width: 280;" /> -- GitLab