2016-08-03 1 views
0

Как установить высоту и ширину Label относительно GridPane высота и ширина колонки?Как исправить или установить высоту и ширину метки относительно высоты строки и ширины столбца GridPane с помощью JavaFX и Scene Builder?

Пожалуйста, проверьте мои изображения ниже

это изображение свернутое экран this one is my minimized screen image

это один максимизируется экран This one is my maximized screen image

это изображение мои этикетки свойства макета
This are my label layout properties

I хотите изменить размер Label относительно GridPane высота строки и ширина столбца.

С помощью кода Я устанавливаю цвет фона для ярлыка, как показано ниже.

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;"); 
     } 
    }); 
} 

ответ

0

Проблема здесь является установка maxHeight и maxSize к USE_COMPUTED_SIZE.

Использование MAX_VALUE вместо

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

(Это должно быть доступно из выпадающего списка в SceneBuilder тоже.)

Чтобы изменить размер ImageView тоже связывают fitWidth и fitHeight свойства размера этикетки. Например:

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

еще теперь у меня есть такая же проблема @fabian – pen1993

+0

еще теперь у меня такая же проблема, я модифицирована как «Максимальная ширина: MAX_VALUE» и „Max Height: MAX_VALUE“ и в предварительном зрения показывая хорошо, когда я запускаю приложение, поэтому изображения будут присутствовать там, так что есть эффект с изображениями, пожалуйста, дайте мне sujestion - @fabian – pen1993

+0

дайте мне предложение для комментариев - @fabian – pen1993