SDFXColorPicker

class SDFXColorPicker : Stage

SDFXColorPicker — всплывающий JavaFX-пикер цвета (StageStyle.UTILITY) с поддержкой:

  • Статического цвета (RGBA)

  • Динамического цвета (набор цветовых сегментов + длительность каждого сегмента)

  • Пипетки (eyedropper): выбор цвета с экрана поверх всех окон

  • Представлений HSV/Alpha + инпут в разных форматах (RGB/HEX/... через ColorType)

Архитектура/состояния:

  • Синглтон (см. companion object + operator fun invoke) — переиспользуется один и тот же Stage.

  • Внутреннее состояние хранится в colorProperty (SDFXColor) и currentColorProperty (Color).

  • Двусторонняя синхронизация HSV <-> текущий Color; флаги updatingFromColor / updatingFromHSV защищают от рекурсии.

  • В динамическом режиме компонент рисует ленту цветовых «сегментов» (Region) + рядом поля времени (ms) для каждого сегмента.

CSS/стили:

  • Подтягивает /ru/sydis/ui/core/css/SDFXColorPicker.css (должен быть на classpath).

  • Используются псевдоклассы: :first, :middle, :last, :selected — для отрисовки сегментов.

API для внешнего кода:

  • Создание/показ: SDFXColorPicker(initial).apply { onApply = { picked -> ... } }.show()

  • Колбэк onApply вызывается по кнопке «Применить».

  • Свойство isDynamicColor можно менять программно или через кнопки «Сделать динамическим/статическим».

Ограничения/заметки:

  • Стадия одна на всё приложение. Повторные вызовы SDFXColorPicker(...) меняют цвет и переиспользуют окно.

  • Кнопка копирования цвета (copyColor) подготовлена визуально, но логика не назначена — добавьте обработчик при необходимости.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val alphaProperty: SimpleDoubleProperty
Link copied to clipboard
Link copied to clipboard
val colorProperty: SimpleObjectProperty<SDFXColor>

Внешний выбранный цвет (модель высокого уровня: статический/динамический)

Link copied to clipboard

Панель управления динамическими сегментами

Link copied to clipboard
var currentColor: Color
Link copied to clipboard
val currentPaletteWell: Region

Левая «лунка» предпросмотра — исходный цвет из colorProperty

Link copied to clipboard
val hueProperty: SimpleDoubleProperty
Link copied to clipboard
val icons: ObservableList<Image>
Link copied to clipboard
Link copied to clipboard
val modality: Modality
Link copied to clipboard
val newPaletteWell: Region

Правая «лунка» предпросмотра — редактируемый текущий цвет

Link copied to clipboard

Колбэк, вызывается при нажатии «Применить» — возвращает итоговый SDFXColor (static или dynamic)

Link copied to clipboard
val owner: Window
Link copied to clipboard
val properties: ObservableMap<Any, Any>
Link copied to clipboard
val satProperty: SimpleDoubleProperty
Link copied to clipboard
val style: StageStyle
Link copied to clipboard
val valProperty: SimpleDoubleProperty

Functions

Link copied to clipboard
override fun <T : Event> addEventFilter(p0: EventType<T>, p1: EventHandler<in T>)
Link copied to clipboard
override fun <T : Event> addEventHandler(p0: EventType<T>, p1: EventHandler<in T>)
Link copied to clipboard
fun alwaysOnTopProperty(): ReadOnlyBooleanProperty
Link copied to clipboard
open override fun buildEventDispatchChain(p0: EventDispatchChain): EventDispatchChain
Link copied to clipboard
open fun centerOnScreen()
Link copied to clipboard
open fun close()
Link copied to clipboard
fun eventDispatcherProperty(): ObjectProperty<EventDispatcher>
Link copied to clipboard
fun extractBgColor(bg: Background?): Color

Безопасное извлечение цвета из Background (если его нет — Color.TRANSPARENT)

Link copied to clipboard
fun fireEvent(p0: Event)
Link copied to clipboard
fun focusedProperty(): ReadOnlyBooleanProperty
Link copied to clipboard
fun forceIntegerRenderScaleProperty(): BooleanProperty
Link copied to clipboard
fun fullScreenExitHintProperty(): ObjectProperty<String>
Link copied to clipboard
fun fullScreenExitKeyProperty(): ObjectProperty<KeyCombination>
Link copied to clipboard
fun fullScreenProperty(): ReadOnlyBooleanProperty
Link copied to clipboard
fun getEventDispatcher(): EventDispatcher
Link copied to clipboard
Link copied to clipboard
fun getFullScreenExitKeyCombination(): KeyCombination
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun getOnCloseRequest(): EventHandler<WindowEvent>
Link copied to clipboard
fun getOnHidden(): EventHandler<WindowEvent>
Link copied to clipboard
fun getOnHiding(): EventHandler<WindowEvent>
Link copied to clipboard
fun getOnShowing(): EventHandler<WindowEvent>
Link copied to clipboard
fun getOnShown(): EventHandler<WindowEvent>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun getScene(): Scene
Link copied to clipboard
Link copied to clipboard
open fun getUserData(): Any
Link copied to clipboard
Link copied to clipboard
fun getX(): Double
Link copied to clipboard
fun getY(): Double
Link copied to clipboard
Link copied to clipboard
fun heightProperty(): ReadOnlyDoubleProperty
Link copied to clipboard
open fun hide()
Link copied to clipboard
fun iconifiedProperty(): ReadOnlyBooleanProperty
Link copied to clipboard
fun initModality(p0: Modality)
Link copied to clipboard
fun initOwner(p0: Window)
Link copied to clipboard
fun initStyle(p0: StageStyle)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun maxHeightProperty(): DoubleProperty
Link copied to clipboard
fun maximizedProperty(): ReadOnlyBooleanProperty
Link copied to clipboard
fun maxWidthProperty(): DoubleProperty
Link copied to clipboard
fun minHeightProperty(): DoubleProperty
Link copied to clipboard
fun minWidthProperty(): DoubleProperty
Link copied to clipboard
fun onCloseRequestProperty(): ObjectProperty<EventHandler<WindowEvent>>
Link copied to clipboard
fun onHiddenProperty(): ObjectProperty<EventHandler<WindowEvent>>
Link copied to clipboard
fun onHidingProperty(): ObjectProperty<EventHandler<WindowEvent>>
Link copied to clipboard
fun onShowingProperty(): ObjectProperty<EventHandler<WindowEvent>>
Link copied to clipboard
fun onShownProperty(): ObjectProperty<EventHandler<WindowEvent>>
Link copied to clipboard
fun opacityProperty(): DoubleProperty
Link copied to clipboard
fun outputScaleXProperty(): ReadOnlyDoubleProperty
Link copied to clipboard
fun outputScaleYProperty(): ReadOnlyDoubleProperty
Link copied to clipboard
override fun <T : Event> removeEventFilter(p0: EventType<T>, p1: EventHandler<in T>)
Link copied to clipboard
override fun <T : Event> removeEventHandler(p0: EventType<T>, p1: EventHandler<in T>)
Link copied to clipboard
fun renderScaleXProperty(): DoubleProperty
Link copied to clipboard
fun renderScaleYProperty(): DoubleProperty
Link copied to clipboard
Link copied to clipboard
fun resizableProperty(): BooleanProperty
Link copied to clipboard
fun sceneProperty(): ReadOnlyObjectProperty<Scene>
Link copied to clipboard
Link copied to clipboard
fun setEventDispatcher(p0: EventDispatcher)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun setFullScreenExitKeyCombination(p0: KeyCombination)
Link copied to clipboard
fun setHeight(p0: Double)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun setOnCloseRequest(p0: EventHandler<WindowEvent>)
Link copied to clipboard
fun setOnHidden(p0: EventHandler<WindowEvent>)
Link copied to clipboard
fun setOnHiding(p0: EventHandler<WindowEvent>)
Link copied to clipboard
fun setOnShowing(p0: EventHandler<WindowEvent>)
Link copied to clipboard
fun setOnShown(p0: EventHandler<WindowEvent>)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
override fun setScene(p0: Scene)
Link copied to clipboard
fun setTitle(p0: String)
Link copied to clipboard
open fun setUserData(p0: Any)
Link copied to clipboard
fun setWidth(p0: Double)
Link copied to clipboard
fun setX(p0: Double)
Link copied to clipboard
fun setY(p0: Double)
Link copied to clipboard
override fun show()
Link copied to clipboard
open fun showAndWait()
Link copied to clipboard
fun showingProperty(): ReadOnlyBooleanProperty
Link copied to clipboard
open fun sizeToScene()
Link copied to clipboard
fun titleProperty(): StringProperty
Link copied to clipboard
open fun toBack()
Link copied to clipboard
open fun toFront()
Link copied to clipboard
fun widthProperty(): ReadOnlyDoubleProperty
Link copied to clipboard
fun xProperty(): ReadOnlyDoubleProperty
Link copied to clipboard
fun yProperty(): ReadOnlyDoubleProperty