2016-08-03 67 views
0

Wie wird die Höhe und Breite des Label in Bezug auf GridPane Zeilenhöhe und Spaltenbreite festgelegt?Wie fixiere ich die Höhe und Breite des Labels in Bezug auf GridPane Zeilenhöhe und Spaltenbreite mit Hilfe von JavaFX und Scene Builder?

Bitte überprüfen Sie meine Bilder unten

dieses Bild Bildschirm minimiert wird this one is my minimized screen image

diesem Bildschirm maximiert wird This one is my maximized screen image

dieses Bild ist mein Label Layout-Eigenschaften
This are my label layout properties

I möchte die Größe ändern Label in Bezug auf GridPane Zeilenhöhe und Spaltenbreite.

Durch Code setze ich die Hintergrundfarbe für das Etikett wie unten.

if(cmnd1.WIM.equals("Y")){ 
    javafx.application.Platform.runLater(new Runnable() { 
     @Override 
     public void run() { 
      lsduController1.oneWIM.setGraphic(new ImageView(new Image("/images/Wim_T.png"))); 
      lsduController1.oneWIM.setStyle("-fx-background-color: none;"); 
     } 
    }); 
} else { 
    javafx.application.Platform.runLater(new Runnable() { 
     @Override 
     public void run() { 
      lsduController1.oneWIM.setGraphic(new ImageView(new Image("/images/Wim_F.png"))); 
      lsduController1.oneWIM.setStyle("-fx-background-color: Red;"); 
     } 
    }); 
} 

Antwort

0

Das Problem hier ist die Einstellung der maxHeight und maxSize-USE_COMPUTED_SIZE.

Verwenden MAX_VALUE statt

<Label style="-fx-background-color: red;" text="Label"> 
    <maxHeight> 
     <Double fx:constant="MAX_VALUE"/> 
    </maxHeight> 
    <maxWidth> 
     <Double fx:constant="MAX_VALUE"/> 
    </maxWidth> 
</Label> 

(Dies sollte auch aus der Dropdown in SceneBuilder zur Verfügung.)

die ImageView zu ändern Sie die Größe, binden die fitWidth und fitHeight Eigenschaften auf die Etikettengröße. ZB:

ImageView imageView = new ImageView(new Image("/images/Wim_F.png")); 
imageView.setPreserveRatio(true); 
imageView.fitWidthProperty().bind(lsduController1.oneWIM.widthProperty().subtract(10d)); 
imageView.fitHeightProperty().bind(lsduController1.oneWIM.heightProperty().subtract(10d)); 
lsduController1.oneWIM.setGraphic(imageView); 
+0

jetzt noch habe ich das gleiche Problem @fabian – pen1993

+0

jetzt noch ich haben das gleiche Problem, ich geändert, wie „Max Breite: MAX_VALUE“ und ‚Max Höhe: MAX_VALUE‘ und in der Vor Ansicht, die es in Ordnung, wenn Ich führe die Anwendung aus, so dass Bilder dort vorhanden sind, also gibt es irgendeinen Effekt mit Bildern, bitte geben Sie mir sujestrion - @fabian – pen1993

+0

geben Sie mir einen Vorschlag für obigen Kommentar - @fabian – pen1993