Я делаю какую-то функцию в своем приложении с JavaFX и Scene Builder.
. Я могу выбрать цвет, нажимая на JFoenix Color Picker, и затем этот цвет применяется к фону моей метки
Iсделал JFOenix Color Picker похожим на иконку.Я изменил стандартную форму Color Picker на свое изображение
Проблема № 1: Color Picker полностью заполняется белым цветом, когда я запускаю программу в первый раз, а затем он становится похож на мой значок, когда я двигаю мышьповерх него.
Проблема № 2: Когда я щелкаю свой значок с помощью Color Picker, работает эффект ряби, но мне не нужен какой-либо эффект ряби или анимация, когда я нажимаю на Color Picker
Problem #3: JFoenix Color Picker также применяет выбранный цвет к своему собственному фону, и он снова становится изображением значка, когда я снова наведу на него курсор мыши
Проблема № 4: Когда Color Picker помещается в панель стека Диалоговое окно Color Pickerокно появляется только когда я щелкаю на левой стороне значка, похоже, что правая часть значка Color Picker отключена, но мне нужно, чтобы диалоговое окно Color Picker появлялось, когда я щелкаю по любой части значка Color Picker
Я искал в CSS-файлах JFoniex Color Picker, но нет документации по настройкеправильно выбрать цвет в CSS.
Пожалуйста, помогите мне как можно больше
* У меня была идея использовать кнопку переключения (я знаю, как настроить ее в соответствии со своими потребностями) и переместить палитру цветов назад эту кнопку переключенияи сделать непрозрачность 0. Но я не знаю, как сделать диалоговое окно Color Picker открытым, когда я нажимаю на кнопку переключения.Любые идеи?
Я использую метод, который вызывается, когда я нажимаю Color Picker, чтобы заполнить фон метки цветом.
Класс контроллера:
@FXML private Label category1;
@FXML private JFXColorPicker colorPickerCategory;
@FXML
void changeCategoryColor(ActionEvent event) {
Color selectedColor = colorPickerCategory.getValue();
category1.setBackground(new Background(new BackgroundFill(Paint.valueOf(selectedColor.toString()), CornerRadii.EMPTY, Insets.EMPTY)));
}
CSS:
.jfx-color-picker .color-box {
-fx-background-image: url("resources/palette.png");
-fx-background-color: transparent;
-fx-background-repeat: no-repeat;
-fx-background-position: center;
-fx-background-size: contain;
}
.jfx-color-picker:armed,
.jfx-color-picker:hover,
.jfx-color-picker:focused,
.jfx-color-picker {
-fx-background-color: transparent, transparent, transparent, transparent;
-fx-background-insets: 0px;
}
.color-picker > .color-picker-label > .picker-color > .picker-color-rect {
-fx-stroke: null;
-fx-fill : null;
}
.color-picker {
-fx-background-color: transparent;
-fx-color-label-visible: false;
}
.color-picker .color-picker-label .picker-color {
-fx-alignment: center;
}
.color-picker .color-picker-label .text {
-fx-fill: transparent;
}
.jfx-color-picker:default{
-fx-background-color: transparent;
}
Видео
Экран Строителя Сцены