• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Export Word
    • Attachments
    • Page Information

    Loading...
  1. Dashboard
  2. OpenJFX
  3. Main
  4. Projects and Components
  5. Controls
  6. User Experience Specifications
  7. Controls For Embedded Touch Platforms

Controls For Embedded Touch Platforms

  • Created by Jindrich Dinga, last modified on Sep 19, 2013

Author: Jindrich Dinga

1. Introduction

This document is the user specification for JavaFX controls for Embedded Touch Platforms. These platforms are specified as platforms with a 5-inch VGA screen (640x480px and 160DPI).

On touch platforms users use their finger(s) to interact with UI controls. This is in contrast with non-touch platforms where users navigate and interact with same UI controls by using a full or limited keyboard and/or pointing device, such as a mouse or remote control. In order to avoid erroneous actions, controls for touch platforms must be big enough to capture fingertip actions.

The following list shows controls that are planned to be supported on Embedded touch platforms.

  • Button
  • Chart (Line graph, Bar graph, Area)
  • CheckBox
  • ChoiceBox
  • ComboBox
  • Label
  • ListView
  • Pagination
  • PasswordField
  • ProgressBar
  • ProgressIndicator
  • RadioButton
  • ScrollBar
  • ScrollPane
  • Separator
  • Slider
  • SplitPane
  • TabPane
  • TableView
  • TextArea
  • TextField
  • TitledPane
  • ToggleButton
  • ToolBar
  • Virtual Keyboard

Please note that on touch platforms, there are no keys that would move focus between controls. Because of that, it is recommended to not display the focus on touch platforms.

 

2. Controls for Embedded Touch Platforms

This chapter describes differences in behavior between controls for Desktop and Embedded touch platforms. In addition to that, it also contains the visual specification for each control listed here.

Button

There is no difference in behavior of buttons on Desktop and touch platforms. When tapped, buttons perform actions that are assigned to them.

Image: Button

The following table describes actions that are performed when users use the following gesture:

Tap ButtonActivate the button.

 

Chart (Line Graph, Bar Graph, Area)

Charts on touch platforms behave same as on Desktop.

Image: LineChart

Image: BarChart

Image: AreaChart

CheckBox

There is no difference in behavior of check boxes on Desktop and touch platforms. When tapped, check boxes switch their settings.

Image: CheckBox

The following table describes actions that are performed when users use the following gesture:

Tap CheckBox or its labelSwitch the setting of the check box.

 

ChoiceBox

There is no difference in behavior of choice boxes on Desktop and touch platforms.

When users tap a choice box, a list that allows users to see the choice box's values opens. Users can navigate within the list by moving their finger up or down or by tapping the scroll buttons (if available). To select a value, users must tap it. After that, the list is closed and the choice box displays the new value.

To close the list without selecting a value, users can tap outside the list.

Note that when the list is scrolling, users can tap anywhere to stop the scrolling.

Image: ChoiceBox

The following table describes actions that are performed when users use the following gestures:

Choice Box

Tap ChoiceBoxOpen the list of values.

List Is Open

Tap outside the listClose the list.
Tap a valueCommit the value and close the list.
Tap a scroll buttonScroll the list.
Drag upScroll the list down.
Drag downScroll the list up.
Swipe upInvoke accelerated scrolling and scroll the list down.
Swipe downInvoke accelerated scrolling and scroll the list up.

 

ComboBox

Again, there is no difference in behavior of combo boxes on Desktop and touch platforms, except that a virtual keyboard may appear when users interact with editable combo boxes.

When users tap a regular combo box, a list that allows users to see the combo box's values opens. Users can navigate within the list by moving their finger up or down. To select a value, users must tap it. After that, the list is closed and the combo box displays the new value.

Image: Regular ComboBox

On the other hand, when users tap the field in an editable combo box, a virtual keyboard appears allowing users to type characters. To display a list of combo box's values, users must tap the drop-down button. Similarly to the regular combo box, users can navigate within the list by moving their finger up or down. After tapping a value, the list is closed and the new value is displayed in the combo box.

Image: Editable ComboBox

To close the list without selecting a value, users can tap the regular combo box or the drop-down button in the editable combo box. In both versions of combo box control, users can also tap outside the list to close it.

Note that when the list is scrolling, users can tap anywhere to stop the scrolling.

The following table describes actions that are performed when users use the following gestures:

Regular Combo Box

Tap ComboBoxOpen/close the list of values.

Regular Combo Box - List Is Open

Tap outside the listClose the list.
Tap a valueCommit the value and close the list.
Drag upScroll the list down.
Drag downScroll the list up.
Swipe upInvoke accelerated scrolling and scroll the list down.
Swipe downInvoke accelerated scrolling and scroll the list up.

Editable Combo Box

Tap the fieldPlace caret in the field. Invoke a virtual keyboard.
Tap the drop-down buttonOpen/close the list of values.

Editable Combo Box - List Is Open

Tap outside the listClose the list.
Tap a valueCommit the value and close the list.
Drag upScroll the list down.
Drag downScroll the list up.
Swipe upInvoke accelerated scrolling and scroll the list down.
Swipe downInvoke accelerated scrolling and scroll the list up.

 

Label

Label does not have any functionality on Desktop as well as on touch platforms.

Based on specification that came from our visual designer, it is recommended to use 9pt font size as a default font size on Embedded devices. However, this font size may change based on results from testing on a real device.

Image: Label

ListView

ListView on Embedded touch platforms behaves same as ListView on Desktop platform. Users can interact with a list view by moving their finger up/down or left/right to scroll the list or by tapping an item to select it.

In ListView, application developers can choose between the following selection models: 1. no selection, 2. single selection, and 3. multiple selection. Since multiple selection is not well supported on touch platforms, application developers will need to somehow expose this functionality to end users, e.g. by adding check box controls next to each item.

When editing is enabled, users can use a virtual keyboard to update data in the list on Embedded touch platforms. On Desktop, users use Enter key to save changes and ESC to cancel changes. Since these keys are not available on touch platforms, application developers will need to expose Save and Cancel actions to end users by themselves.

Users can scroll the list view by swipe or drag gesture. When the drag gesture is used, the content scrolls continuously with it. When the content border reaches the list view border and the user continues to drag in that direction, the content moves further uncovering the list view background. When the user drops the content, it automatically and smoothly returns to the border of the list view.

Swipe gesture invokes accelerated scrolling with initial speed defined by the intensity of swipe gesture. The content scrolls in the swipe direction with the scrolling speed continuously decreasing after it has been released by swipe gesture until the content stops scrolling. When the content has been released and it reaches the border of the list view, it stops scrolling.

If the user swipes content beyond the list view border, it automatically returns to the list view border after it has been released by swipe gesture.

Note that when the list is scrolling, scroll bars appear to indicate the size of the content. At any time, users can tap anywhere to stop the scrolling. Also, when the content is not scrolling, scroll bars are hidden.

Image: ListView

The following table describes actions that are performed when users use the following gestures:

Vertical Orientation

Tap an itemSelect the item and/or activate the associated action.
Double tap an itemEdit the item (if allowed). Invoke the virtual keyboard.
Tap and holdInvoke the pop-up menu, if available.
Drag upScroll the list down.
Drag downScroll the list up.
Swipe upInvoke accelerated scrolling and scroll the list down.
Swipe downInvoke accelerated scrolling and scroll the list up.

Horizontal Orientation

Tap an itemSelect the item and/or activate the associated action.
Double tap an itemEdit the item (if allowed). Invoke the virtual keyboard.
Tap and holdInvoke the pop-up menu, if available.
Drag leftScroll the list right.
Drag rightScroll the list left.
Swipe leftInvoke accelerated scrolling and scroll the list right.
Swipe rightInvoke accelerated scrolling and scroll the list left.

 

Pagination

The functionality of a Pagination control on touch platforms stays same as on Desktop, except that on touch platforms users can use swipe gesture to switch pages.

When users interact with a page navigation control, they can tap a page button to open a page, tap Next/Previous button or use left/right swipe gesture to switch pages.

Image: Pagination

The following table describes actions that are performed when users use the following gestures:

Tap a page buttonOpen selected page.
Tap Previous buttonOpen previous page. Pressing Previous button when the first page in a set is selected brings up previous set, if applicable, in which the last page is selected.
Tap Next buttonOpen next page. Pressing Next button when the last page in a set is selected brings up next set, if applicable, in which the first page is selected.
Swipe leftOpen next page. Swiping from right to left when the last page in a set is selected brings up next set, if applicable, in which the first page is selected.
Swipe rightOpen previous page. Swiping from left to right when the first page in a set is selected brings up previous set, if applicable, in which the last page is selected.

 

PasswordField

PasswordField control behaves exactly same as TextField on touch platforms. There are two differences though: 1. password fields do not show characters, but mask them instead and 2. there is no support for text copy.

For details about behavior of a password field, see TextField control.

 

ProgressBar

Progress bars are useful for communicating that a job is in-process. Even if progress bars are occupied with buttons, there is no difference in behavior of progress bars on Desktop and touch platforms.

Image: ProgressBar

ProgressIndicator

Progress indicators are useful for communicating that a job is in-process. Even if progress indicators are occupied with buttons, there is no difference in behavior of progress indicators on Desktop and touch platforms.

Image: ProgressIndicator

RadioButton

There is no difference in functionality of radio buttons on Desktop and touch platforms. Users can tap the radio button or its label to switch it on.

Image: RadioButton

The following table describes actions that are performed when users use the following gesture:

Radio Button State: ON

Tap RadioButton or its labelDo nothing.

Radio Button State: OFF

Tap RadioButton or its labelSet the radio button to ON. Set all other radio buttons that are in the same group to OFF.

 

ScrollBar

In contrast to Desktop where users can interact with scroll bars, on touch platforms scroll bars appear solely as content size and position indicators. They are not active controls used for scrolling the content.

Image: ScrollBar

ScrollPane

There is no difference in functionality of scroll panes on Desktop and touch platforms, except that users use gestures to interact with the ScrollPane content.

When users interact with a scroll pane, scroll bars appear overlapping visible content. They disappear automatically when content stops scrolling. Note that scroll bars on touch platforms are not active controls used for scrolling the content, but serve as an indicator of content size and position. It means that when users do not interact with the scroll pane, scroll bars are not visible even if the content is bigger than the scroll pane.

As mentioned earlier, ScrollPane is controlled by touch gestures targeted on scroll view content. The applicable gestures are drag, swipe, and tap.

When dragging, the content scrolls continuously with drag gesture. When the content border reaches the scroll view border and the user continues to drag in that direction, the content moves further uncovering the scroll view background. When the user drops the content, it automatically and smoothly returns to the border of the scroll view.

Swipe gesture invokes accelerated scrolling with initial speed defined by the intensity of swipe gesture. The content scrolls in the swipe direction with the scrolling speed continuously decreasing after it has been released by swipe gesture until the content stops scrolling. When the content has been released and it reaches the border of the scroll view, it stops scrolling.

If the user swipes content beyond the scroll pane border, it automatically returns to the scroll pane border after it has been released by swipe gesture.

Note that when the list is scrolling, users can tap anywhere to stop the scrolling.

The following table describes actions that are performed when users use the following gestures:

DragScroll the content continuously following the drag gesture. The content moves exactly the amount of pixels indicated by drag gesture in vertical and horizontal direction.
SwipeInvoke accelerated scrolling. The initial scrolling speed is defined by the swipe gesture intensity. It continuously slows down until it stops.

 

Separator

Separators do not have any functionality on Desktop as well as on touch platforms.

Slider

There is no difference in behavior of sliders on Desktop and touch platforms.

When interacting with a slider control, users can tap the axis to change position of the knob, or tap, hold, and drag the knob to a new position on the axis. When users release their finger, the drag gesture is stopped and the position of the knob is preserved.

Image: Slider

The following table describes actions that are performed when users use the following gestures:

Horizontal Orientation

Tap the axisChange position of the knob.
Drag the knobMove the knob into direction of the drag gesture (left or right). When released, stop moving the knob.

Vertical Orientation

Tap the axisChange position of the knob.
Drag the knobMove the knob into direction of the drag gesture (up or down). When released, stop moving the knob.

 

SplitPane

There is no difference in functionality of SplitPanes on Desktop and touch platforms. Users can change position of a splitter by dragging it into a new position.

Image: SplitPane

The following table describes actions that are performed when users use the following gestures:

Horizontal Splitter

Drag the splitterMove the splitter into direction of the drag gesture (up or down). When released, stop moving the splitter.

Vertical Splitter

Drag the splitterMove the splitter into direction of the drag gesture (left or right). When released, stop moving the splitter.

 

TabPane 

The functionality of TabPanes on touch platforms stays same as on Desktop.

When users interact with TabPanes, they can tap a tab to select it or tap the pop-up button and select a tab they want to switch to. Users can also swipe their finger left or right to switch between tabs. To close a tab, users can tap the close button, if available.

Image: TabPane

The following table describes actions that are performed when users use the following gestures:

Tap a tabOpen selected tab.
Tap the close buttonClose the tab.
Tap the pop-up buttonOpen the pop-up window.
Swipe leftIf there is no content that could scroll, select next tab (switch contents with an animation).
Swipe rightIf there is no content that could scroll, select previous tab (switch contents with an animation).

 

TableView

Again, there is no difference in functionality of TableViews on Desktop and touch platforms.

Similarly to the desktop version, on touch platforms users are allowed to resize the column by dragging its border to left or right. When their finger is released, new size of the column is preserved. When rearranging columns, users can drag a column to a new location. Again, when they release their finger, new position of the column is preserved.

In contrast to Desktop, on touch platforms users are allowed to sort data only in one column by tapping its header (multiple column sorting on touch platform is not supported).

TableView control allows users to select a single cell/row and multiple cells/rows by tap gesture. Since multiple selection modes (cell and row) are not well supported on touch platforms, application developers are responsible for exposing this functionality to end users, e.g. by placing check box controls in each cell/row, if this functionality is needed.

When cell editing is enabled, users can use a virtual keyboard to update data in a cell on Embedded touch platforms. On Desktop, users use Enter key to save changes and ESC to cancel changes. Since these keys are not available on touch platforms, application developers will need to expose Save and Cancel actions to end users by themselves.

When users move their finger up/down/left/right, the content scrolls in the direction of the finger.

When the drag gesture is used, the content scrolls continuously with it. When the content border reaches the table view border and the user continues to drag in that direction, the content moves further uncovering the table view background. When the user drops the content, it automatically and smoothly returns to the border of the table view.

Swipe gesture invokes accelerated scrolling with initial speed defined by the intensity of swipe gesture. The content scrolls in the swipe direction with the scrolling speed continuously decreasing after it has been released by swipe gesture until the content stops scrolling. When the content has been released and it reaches the border of the table view, it stops scrolling.

If the user swipes content beyond the table view border, it automatically returns to the table view border after it has been released by swipe gesture.

Note that when the table is scrolling, scroll bars appear to indicate the size of the content. At any time, users can tap anywhere to stop the scrolling. Also, when the content is not scrolling, scroll bars are hidden.

Image: TableView

The following table describes actions that are performed when users use the following gestures:

Column Header

Tap Show/Hide ColumnDisplay the pop-up menu.
Tap Column's HeaderSort data in the column.
Drag Column's HeaderRearrange the column.
Drag Column's BorderChange size of the column.

Content

Tap a cellSelect/perform an action.
Double tap a cellEdit the cell (if allowed). Invoke the virtual keyboard.
Drag upScroll the table down.
Drag downScroll the table up.
Drag leftScroll the table right.
Drag rightScroll the table left.
Swipe upInvoke accelerated scrolling and scroll the table down.
Swipe downInvoke accelerated scrolling and scroll the table up.
Swipe leftInvoke accelerated scrolling and scroll the table right.
Swipe rightInvoke accelerated scrolling and scroll the table left.

 

TextArea

Note that design of this control is addressed in the following UE Specification.

 

TextField

Note that design of this control is addressed in the following UE Specification.

 

TitledPane

There is no difference in functionality of Titled Panes on Desktop and touch platforms.

When interacting with TitledPanes on touch platforms, users simply tap the title of the pane to expand or collapse the pane.

Image: TitledPane

The following table describes actions that are performed when users use the following gestures:

Tap the titleExpand/collapse the pane.

 

ToggleButton

There is no main difference in behavior of buttons on Desktop and touch platforms. When tapped, the buttons perform actions that are assigned to them.

Image: ToggleButton

The following table describes actions that are performed when users use the following gesture:

TapIf the toggle button is not selected, select the button and perform the associated action. If the toggle button is selected, deselect the button and perform the associated action.

 

ToolBar

The functionality of ToolBars on touch platforms stays same as on Desktop.

Since users do not interact with ToolBars, but controls that are displayed in ToolBars, see appropriate chapters that describe behavior for these controls.

Image: ToolBar

TreeView NOT FOR LOMBARD (8.0)

Note that this control is not on the list of controls for Embedded platforms, however, since an use-case for this control exists, the expected interaction is mentioned here. Also note that this control may not be implemented due time and resource constraints.

Users can tap nodes to expand or collapse them. In addition, TreeView allows users to select none, single or multiple nodes. Note that multiple node selection is not well supported on touch platforms so application developers will need to somehow expose this functionality to end users, e.g. by adding a check box control next to each node.

When node editing is enabled, users can use a virtual keyboard to update data in a node on Embedded touch platforms. On Desktop, users use Enter key to save changes and ESC to cancel changes. Since these keys are not available on touch platforms, application developers will need to expose Save and Cancel actions to end users by themselves.

When users move their finger up/down/left/right, the content scrolls in the direction of the finger.

When the drag gesture is used, the content scrolls continuously with it. When the content border reaches the tree view border and the user continues to drag in that direction, the content moves further uncovering the tree view background. When the user drops the content, it automatically and smoothly returns to the border of the tree view.

Swipe gesture invokes accelerated scrolling with initial speed defined by the intensity of swipe gesture. The content scrolls in the swipe direction with the scrolling speed continuously decreasing after it has been released by swipe gesture until the content stops scrolling. When the content has been released and it reaches the border of the tree view, it stops scrolling.

If the user swipes content beyond the tree view border, it automatically returns to the tree view border after it has been released by swipe gesture.

Note that when the tree is scrolling, scroll bars appear to indicate the size of the content. At any time, users can tap anywhere to stop the scrolling. Also, when the content is not scrolling, scroll bars are hidden.

Image: TreeView

The following table describes actions that are performed when users use the following gestures:

Tap a parent nodeExpand/collapse the node.
Tap a leaf nodeSelect the node and/or perform the action that is associated with the node.
Tap and holdInvoke the pop-up menu, if available.
Double tap a nodeEdit the node (if allowed). Invoke the virtual keyboard.
Drag upScroll the content down.
Drag downScroll the content up.
Drag leftScroll the content right.
Drag rightScroll the content left.
Swipe upInvoke accelerated scrolling and scroll the tree down.
Swipe downInvoke accelerated scrolling and scroll the tree up.
Swipe leftInvoke accelerated scrolling and scroll the tree right.
Swipe rightInvoke accelerated scrolling and scroll the tree left.

 

Virtual Keyboard

Note that design of this control is addressed in the following UE Specification.

Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.22
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 381, "requestCorrelationId": "4811bb8a3b653dba"}