Страницы

Поиск по вопросам

среда, 22 января 2020 г.

Установить картинку на фон textArea

#java #javafx


Добрый день,пишу легкий чатик, захотел сделать приятный интерфейс, и при попытке
поставить картинку на фон textArea столкнулся с проблемой отсутствия таковой возможности.
Для графического составляющего использую Scene Builder.
Могу взять ImageView растянуть по всей textArea и подрегулировать opacity. Но теряется
резкость выводимого текста. Подскажите пожалуйста, какие есть решение данной проблемы ? 
    


Ответы

Ответ 1



С помощью Scenic View можно выявить внутреннюю структуру TextArea: TextArea styleClass="text-input text-area" ScrollPane styleClass="scroll-pane" StackPane styleClass="viewport" StackPane ContentView styleClass="content" Group Text styleClass="text" Path ScrollBar styleClass="scroll-bar" ... ScrollBar styleClass="scroll-bar" ... StackPane styleClass="corner" Исходя из этого, можно задать фоновое изображение в .css-файле в .text-area {...}, а внутренним панелям назначить прозрачность. При этом изображение не будет прокручиваться вместе с текстом: .text-area { -fx-background-image: url("bg.png"); } .text-area .scroll-pane .scroll-bar { -fx-background-color: rgba(255,255,255,0.5); } .text-area .viewport { -fx-background-color: transparent; } .text-area .content { -fx-background-color: transparent; } .text-area .text { -fx-effect: dropshadow(gaussian,#fff,10,0.8,0,0); } Если же нужно, чтобы изображение прокручивалось, тогда следует указать его в .text-area .content {...}. Документация по CSS: JavaFX 9 CSS Reference Guide JavaFX 8 CSS Reference Guide

Комментариев нет:

Отправить комментарий