2013-08-06 3 views
3

Что я хотел сделать, это заменить стандартный флажок JavaFX checkbox с моими собственными изображениями. Я сделал много поисков и я нашел:JavaFX - Замените стандартный CheckBox с изображением

  • -fx-графический: URL
  • -fx-фоновое изображение: URL

Но в обоих случаях ни делает что я хочу.

+1

Вы не можете изменить изображение. вам нужно будет создать собственный элемент управления с собственным рендерером –

+0

Спасибо, но, есть ли способ сделать это с помощью css? – Baya

+0

Sry css может только изменить дизайн, но флажок - это не четкость, это визуализированный элемент управления без фотографий. –

ответ

3

Обратитесь к руководству the official documentation. Было много new stuff, которое было добавлено в 2.2. Кроме того, Introduction to FXML охватывает почти все, что вам нужно знать о FXML. Наконец, Хендрик Эбберс чрезвычайно помог blog post о пользовательских элементах управления пользовательским интерфейсом.

+0

«Освоение элементов управления JavaFX 8» (http: // www. guigarage.com/javafx-book/) будет содержаться глава о скининге с CSS и глава о пользовательских элементах управления. –

4

Вот CSS, который я использовал, чтобы заменить флажок своими собственными изображениями. Это основано на таблице стилей JavaFX8 Modena, но должно быть достаточно близко для Каспия. Замените URL-адреса местоположением ваших изображений относительно вашего листа CSS.

.check-box>.box { 
    -fx-background-insets: 0; 
    -fx-background-radius: 0; 
    -fx-background-color: transparent; 
} 

.check-box>.box>.mark { 
    -fx-background-image: url("unmarked.png"); 
    -fx-background-position: center; 
    -fx-background-repeat: stretch; 
    -fx-shape: none; 
} 

.check-box:selected>.box>.mark{ 
    -fx-background-color: transparent; 
    -fx-background-image: url("marked.png"); 
}