2016-04-09 2 views
0

Краткого deescription:JavaFX ToggleButton изменяет размер, когда иконка применяется

Моего ToggleButtons изменить размер, когда я применяю изображение для них.

Как предотвратить такое поведение?

В глубине:

У меня есть GridLayout наполненную ToggleButtons. В коде это ToggleButtons получить BufferedImage иметь кожу:

// Top Left 
BufferedImage bImage = Thumbnails 
.of(Watermarker.class.getResourceAsStream("view/img/toggle_top_left.png")) 
.size(20, 20).asBufferedImage(); 
Image fxImage = SwingFXUtils.toFXImage(bImage, null); 
this.posTopLeft.setGraphic(new ImageView(fxImage)); 
// Repeated for each Button 

Без наложения Image это работает следующим образом: Without images on ToggleButton

с изображениями, это как показано here

Что я нужно сделать, чтобы предотвратить это изменение размера?

Кнопки имеют размер 25x25 (SceneBuilder) В коде я изменяю размеры значков от их 25x25 до 20x20 перед назначением.

+0

Также нет необходимости использовать 'SwingFXUtils'. Вы можете использовать стандартный класс 'Image' из API JavaFX. –

ответ

0

Попробуйте

toggleButton.setStyle("-fx-min-width:25;"); 

или

toggleButton.minWidthProperty().bind(new SimpleDoubleProperty(25)); 
+0

Работает отлично! Значки заставляют чувствовать себя снова измененными, но более глубокий анализ показал: это не так! Спасибо! – Isfirs

Смежные вопросы