Partage
  • Partager sur Facebook
  • Partager sur Twitter

Affiche un ImageView au clic avec JavaFX

    22 février 2023 à 11:28:53

    Bonjour à tous, ça fait une petite semaine que je coince sur mon problème... Je travaille sur JavaFX, j'ai créé un interface avec un ImageView, un bouton et un TextField.

    Je voudrais que lorsqu'on clique sur le bouton, l'image correspondant à l'url (et je parle bien d'url internet et non d'une image sauvegardée sur l'ordinateur) inscrit dans le textField soit affichée dans l'ImageView.

    J'ai essayé plusieurs choses, dont beaucoup me renvoyées des erreurs et je me suis arrêté sur le code qui suit (dans le contrôleur):

    @FXML private ImageView imgEspece;
    @FXML private Button btnAfficherImage;
    @FXML private TextField txtCheminImage;
    
    // Event Listener on Button[#btnImpoterImageEmplacement].onAction
    	@FXML public void ClickAfficherImage(ActionEvent event) {
    		String url = txtCheminImage.getText();
    		System.out.println(url);
    		imgEspece = new ImageView(url);
    		imgEspece.setVisible(true);
    	}

    avec les bons import qui vont bien aussi (je ne veux pas copier tout le code, il fait pas loin de 300 lignes (le reste n'a rien à voir avec le bouton ou l'image). Ce code ne me renvoi aucune erreur, mais n'affiche absolument rien non plus alors que mon println(url) lui m'affiche bien l'url saisie dans le textField.

    voici le code fxml : 

    <VBox id="VBoxImage" alignment="TOP_CENTER" prefHeight="536.0" spacing="10.0" stylesheets="@../css/GererZone.css" BorderPane.alignment="CENTER">
      <children>
        <ImageView fx:id="imgEspece" fitHeight="450.0" fitWidth="450.0" pickOnBounds="true" preserveRatio="true">
          <VBox.margin>
            <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
          </VBox.margin>
        </ImageView>
            <Button id="btnImporterImage" fx:id="btnAfficherImage" mnemonicParsing="false" onAction="#ClickAfficherImage" stylesheets="@../css/GererEmplacement.css" text="Afficher l'image" />
            <TextField fx:id="txtCheminImage">
              <VBox.margin>
                <Insets left="10.0" right="10.0" />
              </VBox.margin>
            </TextField>
      </children>
    </VBox>

    Pouvez-vous m'aiguiller sur le sujet, je trouve pleins de méthodes sur internet mais toutes parles d'utiliser un fichier file alors que moi c'est bien une url. 

    Merci par avance à ceux qui voudront bien s'attarder un peu sur ma problématique :) 

    • Partager sur Facebook
    • Partager sur Twitter

    Affiche un ImageView au clic avec JavaFX

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown