Spec-Zone .ru
спецификации, руководства, описания, API

JavaFX: Обеспечение Богатого Опыта На Все Экраны Вашей Жизни

разверните все

Профиль: рабочий стол, распространенный

Краткий обзор

Инкапсулирует состояние, требуемое для узла быть динамически измененным его родителем во время передачи расположения графика сцены. javafx.scene. Подкласс узла должен mixin этот class, если у этого есть гибкий диапазон приемлемых размеров.

У Изменяемого размера есть функции, чтобы выразить его приемлемый диапазон размера его родителю:

В дополнение к наличию диапазона приемлемых размеров у узла Изменяемого размера также есть функции, чтобы выразить ее естественное, растут, уменьшаются, и предпочтение заливки:

Это предпочтение изменится через различные классы Контейнера и Управления, так что консультируйтесь с отдельной документацией class для значений по умолчанию.

Размер узла Изменяемого размера предназначается, чтобы управляться его родителем и таким образом, приложения не должны явно установить width или height переменные непосредственно, поскольку они будут переопределены родителем во время расположения.

Политика изменения размеров значения по умолчанию всего javafx.scene. Родительские типы (javafx.scene. Группа, javafx.scene. CustomNode, Контейнер), должен "автоизмерить" их управляемые дочерние элементы, что означает, что каждый дочерний элемент Изменяемого размера будет изменен к его привилегированному размеру. Однако, подклассы javafx.scene. CustomNode и Контейнер обычно переопределяют их doLayout функции, чтобы изменить размеры дочерних элементов согласно их собственным политикам. Конкретные Контейнерные классы будут обычно соблюдать размер Резизэйбла, выращивать, уменьшать, и заполнять предпочтение; см. отдельную документацию class для деталей об их политиках: HBox, VBox, Поток, Стек, Мозаика.

Если приложение должно явно управлять и размером и позицией узла Изменяемого размера (вместо того, чтобы установить его родителя его размер и позиция во время передачи расположения) тогда, это должно неуправлять узлом (см. "управляемую" переменную на javafx.scene. Узел).

Создание Классов Изменяемого размера

Если Изменяемого размера создается, смешиваясь в этом class непосредственно вместо того, чтобы расширить Узел class, который уже Изменяемого размера (Контейнер или javafx.scene.control. Управление) тогда подкласс должен включать некоторый код шаблона, чтобы гарантировать, что это сцепляется в должным образом с механизмом расположения графика сцены:


 public class MyResizable extends CustomNode, Resizable {
     // if extending Parent class (CustomNode), ensure layout is requested
     // when size is altered
     override var width on replace { requestLayout(); }
     override var height on replace { requestLayout(); }

     // ensure layoutBounds tracks current width/height
     override var layoutBounds = bind BoundingBox {
         minX: 0 
         minY: 0
         width: this.width
         height: this.height
     }
 }
 
Все подклассы Изменяемого размера (даже те, которые расширяют классы Контейнера или Управления) должны переопределить getPrefWidth и getPrefHeight функции, чтобы возвратить соответствующие значения:

 public class MyContainer extends Container {

     override function getPrefWidth(height:Number):Number {
         // compute preferred width based on own content/state
         // may query preferred widths of children during computation
     }
     override function getPrefHeight(width:Number):Number {
         // compute preferred height based on won content/state
         // may query preferred heights of children during computation
     }
 }
 
Отказ переопределить эти функции будет обычно приводить к Изменяемого размера не быть измеренным должным образом его родителем.

Профиль: распространенный

Переменная Сводка

доступимяввестиМожет ЧитатьМожет InitМожет ЗаписатьЗначение по умолчаниюописание
общественностьheightЧисло

Resizable's расположение height, который устанавливается этим, является родителем во время расположения и не должен быть установлен непосредственно приложением.

Resizable's расположение height, который устанавливается этим, является родителем во время расположения и не должен быть установлен непосредственно приложением. Любой набор значений приложением будет переопределен родителем, когда это разметит Изменяемого размера в соответствии с предпочтением калибровки Резизэйбла и политикой расположения родителя.

Если приложение должно управлять height узла Изменяемого размера, это должно переопределить свое привилегированное использование height LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { height: 100 }
      }
 

Профиль: распространенный

 
общественностьwidthЧисло

Resizable's расположение width, который устанавливается этим, является родителем во время расположения и не должен быть установлен непосредственно приложением.

Resizable's расположение width, который устанавливается этим, является родителем во время расположения и не должен быть установлен непосредственно приложением. Любой набор значений приложением будет переопределен родителем, когда это разметит Изменяемого размера в соответствии с предпочтением калибровки Резизэйбла и политикой расположения родителя.

Если приложение должно управлять width узла Изменяемого размера, это должно переопределить свое привилегированное использование width LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { width: 100 }
      }
 

Профиль: распространенный

 

Наследованные Переменные

Функциональная Сводка

общественность getHFill (): Булев

Возвраты Resizable's горизонтальное предпочтение заливки, которое указывает, должен ли width Резизэйбла быть изменен вне его привилегированного width (до его максимума), чтобы заполниться, он выделил область расположения.

Возвраты Resizable's горизонтальное предпочтение заливки, которое указывает, должен ли width Резизэйбла быть изменен вне его привилегированного width (до его максимума), чтобы заполниться, он выделил область расположения.

Все контейнерные классы (HBox, VBox, Стек, Поток (вертикаль), Мозаика) консультируются с этим предпочтением, изменяя размеры дочерних элементов Изменяемого размера.

Приложение может переопределить горизонтальную заливку использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { hfill: true }
      }
 

Эта функция возвраты false по умолчанию; подклассы Изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Возвраты
Булев
 
общественность getHGrow (): javafx.scene.layout. Приоритет

Возвраты Resizable's горизонталь выращивают приоритет, который определяет, является ли это областью расположения, дается больше горизонтального пространства если его доступное.

Возвраты Resizable's горизонталь выращивают приоритет, который определяет, является ли это областью расположения, дается больше горизонтального пространства если его доступное.

Горизонталь растет, приоритет только используется, если родительский контейнер изменяется больше, чем его привилегированный width и многократные узлы конкурируют за дополнительное горизонтальное пространство, которое для конкретных контейнеров только применимо к HBox. Отметьте, что рост применяется только к области расположения, присвоенной Изменяемого размера; то, как Изменяемого размера измеряется относительно той области, определяется отдельно ее размером и предпочтением заливки (см. getPrefWidth и getPrefHFill).

Если ALWAYS, область расположения Резизэйбла будет всегда расти горизонтально, если будет дополнительное пространство, совместно используя увеличение с другими узлами, у которых есть hgrow ВСЕГДА. Область расположения Резизэйбла никогда не будет выращиваться вне максимального width Резизэйбла.

Если SOMETIMES, область расположения Резизэйбла только вырастет горизонтально, если или никакой другой узел всегда не определял, или дополнительное пространство не было полностью выделено узлам, определяющим ВСЕГДА из-за их максимальных пределов размера.

Если NEVER, область расположения Резизэйбла никогда не будет выращиваться горизонтально, если будет дополнительное пространство.

Если возвраты Изменяемого размера ВСЕГДА или ИНОГДА, то getHFill должен обычно возвращаться true гарантировать узел будет изменено вне ее привилегированного, чтобы использовать в своих интересах его большую область расположения.

Приложение может переопределить горизонталь, выращивают приоритет использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { hgrow: Priority.ALWAYS }
      }
 

Эта функция возвраты Priority.NEVER по умолчанию; подклассы Изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Возвраты
Приоритет
 
общественность getHShrink (): javafx.scene.layout. Приоритет

Возвраты Resizable's горизонтальный приоритет уменьшения, который определяет, является ли это областью расположения, дается меньше горизонтального пространства, если его родитель изменяется меньший чем его привилегированный width.

Возвраты Resizable's горизонтальный приоритет уменьшения, который определяет, является ли это областью расположения, дается меньше горизонтального пространства, если его родитель изменяется меньший чем его привилегированный width.

Горизонтальный приоритет уменьшения только используется, если родительский контейнер изменяется меньший, чем его привилегированный width и многократные узлы конкурируют за горизонтальное пространство, которое для конкретных контейнеров только применимо к HBox.

Если ALWAYS, область расположения Резизэйбла будет всегда уменьшаться горизонтально, если будет меньше пространства, совместно используя уменьшение с другими узлами, у которых есть hshrink ВСЕГДА. Область расположения Резизэйбла никогда не будет измеряться меньшая чем минимальный width узла.

Если SOMETIMES, область расположения Резизэйбла только уменьшится горизонтально, если или никакой другой узел всегда не определял, или уменьшенное пространство не было полностью распределено узлам, определяющим ВСЕГДА из-за их минимальных пределов размера.

Если NEVER, область расположения Резизэйбла никогда не будет севшей горизонтально, если там будет уменьшен пространство.

Приложение может переопределить горизонтальный приоритет уменьшения использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { hshrink: Priority.ALWAYS }
      }
 

Эта функция возвраты Priority.NEVER по умолчанию; подклассы Изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Возвраты
Приоритет
 
общественность getMaxHeight (): Число

Возвраты Resizable's максимальный height.

Возвраты Resizable's максимальный height. Контейнеры расположения должны стремиться не установить Резизэйбла height больше чем это значение. Это значение вычисляется подклассом узла, используя применимое состояние и переменные настройки и не непосредственно устанавливаемо приложениями.

Приложение может переопределить максимальный height использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { maxHeight: 30 }
      }
 

Эта функция возвраты Integer.MAX_VALUE по умолчанию; подклассы Изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Возвраты
Число

Профиль: распространенный

 
общественность getMaxWidth (): Число

Возвраты Resizable's максимальный width.

Возвраты Resizable's максимальный width. Контейнеры расположения должны стремиться не установить Резизэйбла width больше чем это значение. Это значение вычисляется подклассом узла, используя применимое состояние и переменные настройки и не непосредственно устанавливаемо приложениями.

Приложение может переопределить максимальный width использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { maxWidth: 30 }
      }
 

Эта функция возвраты Integer.MAX_VALUE по умолчанию; подклассы Изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Возвраты
Число

Профиль: распространенный

 
общественность getMinHeight (): Число

Возвраты Resizable's минимальный height.

Возвраты Resizable's минимальный height. Контейнеры расположения должны стремиться не установить height Резизэйбла, меньший чем это значение. Это значение вычисляется подклассом узла, используя применимое состояние и переменные настройки и не непосредственно устанавливаемо приложениями.

Приложение может переопределить минимальный height использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { minHeight: 30 }
      }
 

Эта функция возвращается 0 по умолчанию; подклассы Изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Возвраты
Число

Профиль: распространенный

 
общественность getMinWidth (): Число

Возвраты Resizable's минимальный width.

Возвраты Resizable's минимальный width. Контейнеры расположения должны стремиться не установить width Резизэйбла, меньший чем это значение. Это значение вычисляется подклассом узла, используя применимое состояние и переменные настройки и не непосредственно устанавливаемо приложениями.

Приложение может переопределить минимальный width использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { minWidth: 50 }
      }
 

Эта функция возвращается 0 по умолчанию; подклассы Изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Возвраты
Число

Профиль: распространенный

 
общедоступный краткий обзор getPrefHeight (width: Число): Число

Возвраты Resizable's предпочел height, учитывая указанный width.

Возвраты Resizable's предпочел height, учитывая указанный width. Если определенный width не должен быть factored в результат, в-1 можно передать как width параметр. Реализации этой функции могут также хотеть игнорировать width если это не воздействует на результат.

Контейнеры расположения должны установить Резизэйбла height к этому значению когда бы ни было возможно. Это значение вычисляется подклассом узла, используя применимое состояние и переменные настройки и не непосредственно устанавливаемо приложениями.

Приложение может переопределить привилегированный height использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { height: 80 }
      }
 

Подклассы изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Параметры
width
Возвраты
Число

Профиль: распространенный

 
общедоступный краткий обзор getPrefWidth (height: Число): Число

Возвраты Resizable's предпочел width, учитывая указанный height.

Возвраты Resizable's предпочел width, учитывая указанный height. Если определенный height не должен быть factored в результат, в-1 можно передать как height параметр. Реализации этой функции могут также хотеть игнорировать height если это не воздействует на результат.

Контейнеры расположения должны установить Резизэйбла width к этому значению когда бы ни было возможно. Это значение вычисляется подклассом узла, используя применимое состояние и переменные настройки и не непосредственно устанавливаемо приложениями.

Приложение может переопределить привилегированный width использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { width: 50 }
      }
 

Подклассы изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Параметры
height
Возвраты
Число

Профиль: распространенный

 
общественность getVFill (): Булев

Возвраты Resizable's вертикаль заполняют предпочтение, которое указывает, должен ли height Резизэйбла быть изменен вне его привилегированного height (до его максимума), чтобы заполниться, это выделило область расположения.

Возвраты Resizable's вертикаль заполняют предпочтение, которое указывает, должен ли height Резизэйбла быть изменен вне его привилегированного height (до его максимума), чтобы заполниться, это выделило область расположения.

Все контейнерные классы (HBox, VBox, Стек, Поток (горизонталь), Мозаика) консультируются с этим предпочтением, изменяя размеры дочерних элементов Изменяемого размера.

Приложение может переопределить вертикальную заливку использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { vfill: true }
      }
 

Эта функция возвраты false по умолчанию; подклассы Изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Возвраты
Булев
 
общественность getVGrow (): javafx.scene.layout. Приоритет

Возвраты Resizable's вертикаль выращивают приоритет, который определяет, является ли это областью расположения, дается больше вертикального пространства если его доступное.

Возвраты Resizable's вертикаль выращивают приоритет, который определяет, является ли это областью расположения, дается больше вертикального пространства если его доступное.

Вертикаль растет, приоритет только используется, если родительский контейнер изменяется больше, чем его привилегированный height и многократные узлы конкурируют за дополнительное вертикальное пространство, которое для конкретных контейнеров только применимо к VBox. Отметьте, что рост применяется только к области расположения, присвоенной Изменяемого размера; то, как Изменяемого размера измеряется относительно той области, определяется отдельно ее размером и предпочтением заливки (см. getPrefHeight и getPrefVFill).

Если ALWAYS, область расположения Резизэйбла будет всегда расти вертикально, если будет дополнительное пространство, совместно используя увеличение с другими узлами, у которых есть vgrow ВСЕГДА. Область расположения Резизэйбла никогда не будет выращиваться вне максимального height Резизэйбла.

Если SOMETIMES, область расположения Резизэйбла только вырастет вертикально, если или никакой другой узел всегда не определял, или дополнительное пространство не было полностью выделено узлам, определяющим ВСЕГДА из-за их максимальных пределов размера.

Если NEVER, область расположения Резизэйбла никогда не будет выращиваться вертикально, если будет дополнительное пространство.

Если возвраты Изменяемого размера ВСЕГДА или ИНОГДА, то getVFill должен обычно возвращаться true гарантировать узел будет изменено вне ее привилегированного, чтобы использовать в своих интересах его большую область расположения.

Приложение может переопределить вертикаль, выращивают приоритет использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { vgrow: Priority.ALWAYS }
      }
 

Эта функция возвраты Priority.NEVER по умолчанию; подклассы Изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Возвраты
Приоритет
 
общественность getVShrink (): javafx.scene.layout. Приоритет

Возвраты Resizable's вертикаль уменьшают приоритет, который определяет, является ли это областью расположения, дается меньше вертикального пространства, если его родитель изменяется меньший чем его привилегированный height.

Возвраты Resizable's вертикаль уменьшают приоритет, который определяет, является ли это областью расположения, дается меньше вертикального пространства, если его родитель изменяется меньший чем его привилегированный height.

Вертикальный приоритет уменьшения только используется, если родительский контейнер изменяется меньший, чем его привилегированный height и многократные узлы конкурируют за вертикальное пространство, которое для конкретных контейнеров только применимо к VBox.

Если ALWAYS, область расположения Резизэйбла будет всегда уменьшаться вертикально, если будет меньше пространства, совместно используя уменьшение с другими узлами, у которых есть vshrink ВСЕГДА. Область расположения Резизэйбла никогда не будет измеряться меньшая чем минимальный height узла.

Если SOMETIMES, область расположения Резизэйбла только уменьшится вертикально, если или никакой другой узел всегда не определял, или уменьшенное пространство не было полностью распределено узлам, определяющим ВСЕГДА из-за их минимальных пределов размера.

Если NEVER, область расположения Резизэйбла никогда не будет севшей вертикально, если там будет уменьшен пространство.

Приложение может переопределить вертикальный приоритет уменьшения использования узла Изменяемого размера LayoutInfo:


      Label {
          layoutInfo: LayoutInfo { vshrink: Priority.ALWAYS }
      }
 

Эта функция возвраты Priority.NEVER по умолчанию; подклассы Изменяемого размера должны переопределить эту функцию, чтобы возвратить соответствующее значение.

Возвраты
Приоритет
 

Наследованные Функции