comment faire des boutons d'image sur java fxml en utilisant scene builder?
J'utilise netbeans et je veux utiliser un fichier multimédia à partir de mon bureau pour remplacer le bouton ennuyeux.
Donc c'est mon code. Je le veux pour que l'image devienne le bouton.
<Button layoutX="252.0" layoutY="177.0" mnemonicParsing="false" prefHeight="57.0" prefWidth="135.0" text="Button!" textFill="BLUE">
<font>
<Font name="Avenir Next Regular" size="13.0" />
</font>
</Button>
Merci d'avance :)
3 answers
Dans votre fichier fxml, importez le package image:
<?import javafx.scene.image.*?>
Puis juste avant le bouton, en supposant l'image.png est situé sous "images/" répertoire et les "images/" est situé dans le même répertoire que .fxml:
<fx:define>
<Image fx:id="btnImage" url="images/image.png" />
</fx:define>
Ensuite, ajoutez simplement ce qui suit à votre définition de bouton
<Button layoutX="252.0" layoutY="177.0" mnemonicParsing="false" prefHeight="57.0" prefWidth="135.0" text="Button!" textFill="BLUE">
<font>
<Font name="Avenir Next Regular" size="13.0" />
</font>
<graphic>
<ImageView image="$btnImage" />
</graphic>
</Button>
La réponse ci-dessus est partiellement correcte, sans spécifier les symboles ' @ ' et ' $ 'dans l'url et dans" ImageView " comme
<Image fx:id="playbutImg" url="@image/image.png">
<ImageView image="$playbutImg" >
@ symbol est utilisé pour diffrentiate entre la chaîne et le répertoire relatif , si nous passons sans le symbole @ il prendra comme une chaîne plutôt que le répertoire relatif.