2017-02-04 3 views
1

(JavaFX FXML) J'utilise actuellement le générateur de scènes pour créer une application et j'essaie de créer un bouton personnalisé, j'ai réussi à obtenir une image sur le bouton mais je n'arrive pas à comprendre comment obtenir l'image remplissez complètement le bouton. des idées? O, s'il y a une autre façon de créer un bouton personnalisé qui serait utile aussi!(JavaFX FXML) En essayant de créer un bouton personnalisé, comment obtenir une image pour remplir complètement un bouton?

Voici mon code FXML:

<?xml version="1.0" encoding="UTF-8"?> 

<?import javafx.scene.control.Button?> 
<?import javafx.scene.image.Image?> 
<?import javafx.scene.image.ImageView?> 
<?import javafx.scene.layout.AnchorPane?> 


<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1"> 
    <children> 
     <Button layoutX="165.0" layoutY="125.0" mnemonicParsing="false" prefHeight="150.0" prefWidth="270.0"> 
     <graphic> 
      <ImageView fitHeight="150.0" fitWidth="200.0" pickOnBounds="true" preserveRatio="true"> 
       <image> 
        <Image url="@case.png" /> 
       </image> 
      </ImageView> 
     </graphic> 
     </Button> 
    </children> 
</AnchorPane> 

L'image s'insère dans le bouton mais je veux remplir complètement le bouton, ou s'il y a des façons différentes qui apprécierait beaucoup !!!

merci d'avance!

PS: J'utilise Scène Builder, des conseils utiles pour cette application serait très utile aussi bien

+0

Rechercher des exemples css qui est une meilleure approche pour me – Sedrick

Répondre

1

Si je comprends bien, vous ne voulez pas voir les frontières bouton et la couleur du tout. Vous pouvez personnaliser votre bouton par exemple CSS:

.fill-btn { 
-fx-graphic: url("@case.png"); 
-fx-background-color: inherit; 
-fx-opacity: inherit; 
-fx-border: none; 
} 

et déclarer dans votre FXML:

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1"> 
<children> 
    <Button stylesheets="@buttons-style.css" styleClass="fill-btn" layoutX="165.0" layoutY="125.0" mnemonicParsing="false" prefHeight="150.0" prefWidth="270.0"> 
    </Button> 
</children> 

+0

Désolé si je suis mal mais je pense qu'il essaie d'adapter la taille de l'image à celle du 'Button', dans votre exemple c'est le contraire, le' Button' aura la même taille que l'image! –