参照: 説明
| インタフェース | 説明 |
|---|---|
| Skin<C extends Skinnable> |
ノードのシーングラフを定義してスキンを表すことでユーザー・インタフェース・コントロールのビジュアルな表現を定義するためのベース・クラス。
|
| Skinnable |
Skinnableインタフェースは
Controlクラスによって実装されるため、すべてのControl実装によって実装されます。 |
| TextInputControl.Content |
テキスト入力のコンテンツを表すインタフェース。
|
| Toggle |
選択状態と非選択状態とを切り替えることができるコントロールを表します。
|
| クラス | 説明 |
|---|---|
| Accordion |
アコーディオンは、
TitlePanesのグループです。 |
| Alert |
Alertクラスは
Dialogクラスのサブクラスであり、ユーザーにレスポンスを求める場合に簡単に表示できる事前作成済ダイアログ・タイプを数多くサポートしています。 |
| Button |
単純なボタン・コントロール。
|
| ButtonBar |
ButtonBarは、
HBoxにオペレーティング・システム固有のボタン配置のための機能を追加したものです。 |
| ButtonBase |
Hyperlink、Button、ToggleButton、CheckBoxe、RadioButtonなどのボタン形式のUIコントロールのベース・クラス。
|
| ButtonType |
ButtonTypeクラスは、ダイアログでユーザーに表示するボタンを指定するためのJavaFX
Dialog API (より具体的にはDialogPane API)の一部として使用します。 |
| Cell<T> | |
| CheckBox |
通常、選択されたときにチェックマークまたは目盛が表示されるボックスとして示されるトライステート選択コントロール。
|
| CheckBoxTreeItem<T> |
選択、選択解除および不確定の各状態のサポートを追加するTreeItemサブクラス。
|
| CheckBoxTreeItem.TreeModificationEvent<T> |
CheckBoxTreeItem階層を親ノードがnullになるまでこのイベントがバブル・アップするという点で、
TreeItem.TreeModificationEventクラスと同様に機能するTreeModificationEventクラス。 |
| CheckMenuItem |
選択状態と選択解除状態の切替えが可能な
MenuItem。 |
| ChoiceBox<T> |
ChoiceBoxは、ユーザーに選択可能な比較的小さいセットの事前に定義された選択項目を示すために使用されます。
|
| ChoiceDialog<T> |
ユーザーに選択肢のリストを表示するダイアログ。ユーザーはここから最大1つのアイテムを選択できます。
|
| ColorPicker |
ColorPickerコントロールを使用すると、ユーザーが標準のカラー・パレットで1回クリックするだけで色を選択したり、独自のカスタム色を定義できるようになります。
|
| ComboBox<T> |
ユーザーに選択肢を提供するポップアップ・リストを表示するという最も一般的な形式のComboBoxの
ComboBoxBase抽象クラスの実装。 |
| ComboBoxBase<T> |
ComboBox形式のコントロールの抽象ベース・クラス。
|
| ContextMenu |
メニュー・アイテムのObservableListを含むポップアップ・コントロール。
|
| Control |
すべてのユーザー・インタフェース・コントロールのベース・クラス。
|
| CustomMenuItem | |
| DateCell |
DateCellは、カレンダ月に個々のグリッド・セルをレンダリングするために
DatePickerによって使用されます。 |
| DatePicker |
DatePickerコントロールを使用すると、ユーザーが日付をテキストとして入力したり、カレンダ・ポップアップから日付を選択できるようになります。
|
| Dialog<R> |
JavaFXにおけるDialogは
DialogPaneをラップし、それをエンド・ユーザーに表示するために必要なAPIを提供します。 |
| DialogEvent |
ダイアログの表示/非表示アクションに関連するイベント。
|
| DialogPane |
DialogPaneは、
Dialogインスタンス内に表示されるルート・ノードとみなされる必要があります。 |
| FocusModel<T> |
FocusModel実装の抽象ベース・クラス。
|
| Hyperlink |
ロールオーバーやクリックへの応答として表示されるグラフィックまたはテキスト(あるいはその両方)を示すHTML形式のラベル。
|
| IndexedCell<T> |
視覚化の基礎となるデータ・モデルにマップされる索引プロパティを含む
Cellの実装。 |
| IndexRange |
整数値の連続する範囲を表すクラス。
|
| Label |
Labelは、編集不可のテキスト・コントロールです。
|
| Labeled |
ラベル付けされた
Controlは、ユーザー・インタフェースの一部として関連付けられたテキスト・コンテンツを持ちます。 |
| ListCell<T> | |
| ListView<T> |
ListViewは、ユーザーが選択できるか、ユーザーが対話できるアイテムの水平または垂直のリストを表示します。
|
| ListView.EditEvent<T> |
編集関連イベントを表すために特にListViewで使用される
Eventサブクラス。 |
| Menu |
リクエスト時にのみユーザーに表示されるアクション可能なアイテムのポップアップ・メニュー。
|
| MenuBar |
MenuBarコントロールは通常ユーザー・インタフェースの最上部に配置され、
Menusが内部に組み込まれています。 |
| MenuButton |
MenuButtonは、クリックするか、押したときに
ContextMenuが表示されるボタンです。 |
| MenuItem |
MenuItemは、ユーザーにオプションを提供する目的で
Menuと組み合せて使用されます。 |
| MultipleSelectionModel<T> |
APIを追加して複数選択をサポートするように
SelectionModelを拡張する抽象クラス。 |
| Pagination |
Paginationコントロールは、1つのコンテンツを小さい部分に分割した複数のページ間の移動に使用されます。
|
| PasswordField |
入力された文字をマスクするテキスト・フィールド。
|
| PopupControl |
CSSスタイルを許可するPopupWindowの拡張。
|
| ProgressBar |
横棒として表される特殊なProgressIndicator。
|
| ProgressIndicator |
進行状況を無限(不確定)または有限として示す円形コントロール。
|
| RadioButton |
RadioButtonは、一連の項目を作成し、その中から1つのみを選択させるためのものです。
|
| RadioMenuItem | |
| ResizeFeaturesBase<S> |
TableViewやTreeTableViewなどのコントロールが提供する列サイズ変更ポリシーで使用されている不変のラッパー・クラス。 |
| ScrollBar |
ユーザーが操作可能な増分/減分ボタンとつまみを備えた横棒または縦棒。
|
| ScrollPane |
コンテンツのスクロールおよびクリップされるビューポートを提供するコントロール。
|
| ScrollToEvent<T> |
ScrollPaneおよび仮想化されたコントロール(ListView、TableView、TreeView、TreeTableViewなど)に関連するイベント。 |
| SelectionModel<T> |
SelectionModelは、一貫したAPIを提供して選択を維持するためにUIコントロールが使用する抽象クラスです。
|
| Separator |
水平または垂直のセパレータ線。
|
| SeparatorMenuItem |
名前が示すように、
SeparatorをCustomMenuItemのcontentプロパティに割り当てることによって水平セパレータを埋め込むことができるMenuItem。menuitemsのグループをセパレータで区切れるように便宜上用意されています。 |
| SingleSelectionModel<T> |
常に単一のインデックスのみが選択されるという要件を適用するSelectionModel。
|
| SkinBase<C extends Control> |
skinを表すノードのシーングラフを定義して、ユーザー・インタフェース・コントロールのビジュアルな表現を定義するためのベース実装クラス。 |
| Slider |
Sliderコントロールは、有効な数値の選択肢を連続範囲または離散範囲として表示し、ユーザーに値を選択させるために使用されます。
|
| SortEvent<C> |
TableViewおよびTreeTableViewソートに関連するイベント。 |
| Spinner<T> |
順序付けられたシーケンスからユーザーが数値またはオブジェクト値を選択できるようにする単一行のテキスト・フィールド。
|
| SpinnerValueFactory<T> |
SpinnerValueFactoryはJavaFX
Spinner controlの背後にあるモデルであり、値ファクトリが導入されていない場合、Spinnerは使用できません。 |
| SpinnerValueFactory.DoubleSpinnerValueFactory |
double値を反復処理するように設計された
SpinnerValueFactory実装。 |
| SpinnerValueFactory.IntegerSpinnerValueFactory |
integer値を反復処理するように設計された
SpinnerValueFactory実装。 |
| SpinnerValueFactory.ListSpinnerValueFactory<T> |
値リストを反復処理するように設計された
SpinnerValueFactory実装。 |
| SplitMenuButton |
SplitMenuButtonは、
MenuButtonと同様に、メニューからMenuItemを選択するという概念に密接に関連しています。 |
| SplitPane |
それぞれが区切り線で分割されている2つ以上のサイドを持つコントロールは、ユーザーがドラッグしてサイドの片側の領域を増やし、その分他方の領域を減らすことができます。
|
| SplitPane.Divider |
SplitPaneの単一のディバイダを表します。
|
| Tab |
タブは
TabPane内に配置され、各タブは単一のページを表します。 |
| TableCell<S,T> |
TableViewにおける単一の行/列交差を表します。 |
| TableColumn<S,T> |
TableViewは、多数のTableColumnインスタンスで構成されます。 |
| TableColumn.CellDataFeatures<S,T> |
特定の
Cellに対して必要なすべての情報を提供するためにTableColumnでラッパー・クラスとして使用されるサポート・クラス。 |
| TableColumn.CellEditEvent<S,T> |
ユーザーが表のセルで編集を実行したときに起動されるイベント。
|
| TableColumnBase<S,T> |
表形式のコントロール(
TableView、TreeTableViewなど)は、具象TableColumnBaseサブクラス(それぞれTableColumn、TreeTableColumn)の0個以上のインスタンスで構成されます。 |
| TableFocusModel<T,TC extends TableColumnBase<T,?>> |
表形式のコントロール(特に
TableViewとTreeTableView)内で使用されるFocusModel実装の抽象ベース・クラス。 |
| TablePosition<S,T> |
このクラスは、TableViewの単一の行/列/セルを表すために使用されます。
|
| TablePositionBase<TC extends TableColumnBase> |
このクラスは、表の単一の行/列/セルを表すために使用されます。
|
| TableRow<T> |
TableRowは
IndexedCellですが、TableViewインスタンスを作成する開発者はほとんど使用する必要がありません。 |
| TableSelectionModel<T> |
表形式のコントロール(特に
TableViewとTreeTableView)内で使用されるMultipleSelectionModel実装の抽象ベース・クラス。 |
| TableView<S> |
TableViewコントロールは、無制限の数のデータ行と列をビジュアル化するために設計されています。
|
| TableView.ResizeFeatures<S> |
TableView
column resize機能で使用される不変のラッパー・クラス。 |
| TableView.TableViewFocusModel<S> |
TableViewコントロールの要件をサポートする追加機能を持つ
FocusModel。 |
| TableView.TableViewSelectionModel<S> |
TableViewコントロール用の特別なサポートを可能にする
SelectionModel抽象クラスの単純な拡張。 |
| TabPane |
Tabsのグループ間の切替えを許可するコントロール。 |
| TextArea |
ユーザーに対して複数行のプレーン・テキストの入力を許可するテキスト入力コンポーネント。
|
| TextField |
ユーザーに対して1行の書式なしテキストの入力を許可するテキスト入力コンポーネント。
|
| TextFormatter<V> |
Formatterは、次の2つの異なるメカニズムを使用して
TextInputControlテキストのフォーマットを記述します。ユーザー入力をインターセプトおよび変更できるフィルタ(TextFormatter.getFilter())。 |
| TextFormatter.Change |
TextInputControlのコンテンツまたは選択内容の変更を表す状態が含まれます。
|
| TextInputControl |
テキスト入力コントロールの抽象ベース・クラス。
|
| TextInputDialog |
ユーザーにテキスト入力コントロールを表示するダイアログ。
|
| TitledPane |
TitledPaneは、オープンおよびクローズできるタイトルを使用したパネルです。
|
| ToggleButton |
ToggleButtonは、選択可能な特殊コントロールです。 |
| ToggleGroup |
selected変数を管理する必要があるすべてのToggleへの参照が含まれているクラス。これにより、任意の1つの時点でToggleGroup内の単一ののみを選択できるようにします。 |
| ToolBar |
ToolBarは、水平または垂直にアイテムを表示するコントロールです。
|
| Tooltip |
ツールチップは一般的なUI要素であり、これらの要素は通常、シーングラフ内のノードがマウスでポイントされた場合にそのノードに関する追加情報を表示するために使用されます。
|
| TreeCell<T> | |
| TreeItem<T> |
TreeViewなどのコントロールに値の階層を提供する単一ノードのモデル。
|
| TreeItem.TreeModificationEvent<T> |
TreeItemの変更のすべての形式に関する関連情報を含む
Event。 |
| TreeTableCell<S,T> |
TreeTableViewにおける単一の行/列交差を表します。 |
| TreeTableColumn<S,T> |
TreeTableViewは、多数のTreeTableColumnインスタンスで構成されます。 |
| TreeTableColumn.CellDataFeatures<S,T> |
特定の
Cellに対して必要なすべての情報を提供するためにTreeTableColumnでラッパー・クラスとして使用されるサポート・クラス。 |
| TreeTableColumn.CellEditEvent<S,T> |
ユーザーが表のセルで編集を実行したときに起動されるイベント。
|
| TreeTablePosition<S,T> |
このクラスは、TreeTableViewの単一の行/列/セルを表すために使用されます。
|
| TreeTableRow<T> |
TreeTableRowは
IndexedCellですが、TreeTableViewインスタンスを作成する開発者はほとんど使用する必要がありません。 |
| TreeTableView<S> |
TreeTableViewコントロールは、無制限の数のデータ行と列をビジュアル化するために設計されています。
|
| TreeTableView.EditEvent<S> |
編集関連イベントを表すために特にTreeTableViewで使用される
Eventサブクラス。 |
| TreeTableView.ResizeFeatures<S> |
TableView
column resize機能で使用される不変のラッパー・クラス。 |
| TreeTableView.TreeTableViewFocusModel<S> |
TableViewコントロールの要件をサポートする追加機能を持つ
FocusModel。 |
| TreeTableView.TreeTableViewSelectionModel<S> |
TreeTableViewコントロールの特別なサポートを可能にする
SelectionModel抽象クラスの単純な拡張。 |
| TreeView<T> |
TreeViewコントロールは、ツリー・ルート(
TreeItem型)のビューを提供します。 |
| TreeView.EditEvent<T> |
編集関連イベントを表すために特にTreeViewで使用される
Eventサブクラス。 |
| 列挙型 | 説明 |
|---|---|
| Alert.AlertType |
Alertクラスが様々なプロパティを事前移入するために使用できる、使用可能な事前作成済のアラート・タイプが記述された列挙。 |
| ButtonBar.ButtonData |
すべての使用可能なボタン・データ注釈の列挙。
|
| ContentDisplay |
ラベル内でコンテンツを配置する位置。
|
| OverrunStyle |
テキストをレンダリングするスペースが文字列全体のレンダリングに必要なスペースよりも小さい場合の、ラベル付けされたControlの動作を定義します。
|
| ScrollPane.ScrollBarPolicy |
スクロール・バーを表示するかどうかを決定する際にスクロール可能なControlによって使用されるポリシーを示す列挙。
|
| SelectionMode |
MultipleSelectionModelでいくつのアイテムを選択できるかを指定するために使用される列挙。 |
| TableColumn.SortType |
特定の列に適用されるソートのタイプを指定する列挙。
|
| TabPane.TabClosingPolicy |
エンド・ユーザーの視点からTabPaneがタブのクローズをどのように処理するかを指定します。
|
| TreeSortMode |
ツリー状のUIコントロール内のツリー・アイテムをどのようにソートするかを指定します。
|
| TreeTableColumn.SortType |
特定の列に適用されるソートのタイプを指定する列挙。
|
JavaFXユーザー・インタフェース・コントロール(UIコントロールまたは単純なコントロール)は、特に多くの異なるアプリケーション・コンテキストでの再利用に適しているJavaFXシーングラフの特化されたノードです。 これらは、設計者および開発者が視覚的に高度なカスタマイズを実行できるように設計されています。 また、レイアウト・システムで正しく機能するように設計されています。 たとえば、よく知られているコントロールとして、Button、Label、ListView、TextFieldなどがあります。
コントロールはシーングラフ内のNodesであるため、Groups、Images、Media、Textおよびbasic geometric shapesと自由に混在させることができます。 新しいUIコントロールを記述することは容易ではありませんが、それを使用し、スタイルを設定することは、特に既存のWeb開発者にとっては、非常に容易です。
このドキュメントの残りの部分では、JavaFX UIコントロール・ライブラリの基本的なアーキテクチャ、既存のコントロールのスタイルを設定する方法、カスタム・スキンを作成する方法、およびコントロールを使用してより複雑なユーザー・インタフェースを構築する方法について説明します。
コントロールは、従来のMVC設計パターンに従っています。 Controlはモデルです。 状態とその状態を操作する関数の両方が含まれています。 Controlクラス自体は、レンダリングの方法やユーザー操作の内容を認識しません。 これらのタスクはSkin ("view")に委任され、ビューとコントローラの機能が内部的に別のクラスに分離されますが、現時点ではコントローラの側面のためのパブリックAPIはありません。
すべてのコントロールはControlクラスから拡張され、このクラスはParentノードであり、これはNodeです。 どのコントロールにも、コントロールのビューの実装である単一のスキンへの参照があります。 コントロールは、コントロールの最小サイズ、最大サイズおよび優先サイズ、ベースライン・オフセットおよびヒット・テスト(包含および交差)を計算する責任をスキンに委任します。 また、コントロールにフォーカスがあるときにそのコントロールで発生するすべての関連キー・イベントを実装して対応することも、スキンで行うか、またはスキンが委任します。
コントロールはParentから拡張されるため、リーフ・ノードではありません。 開発者または設計者の視点では、コントロールは多くの場合リーフ・ノードであるかのように考えることができます。 たとえば、開発者または設計者は、ButtonをRectangleやその他の簡単なリーフ・ノードであるかのように考えることができます。
コントロールは、サイズ変更可能であるため、各シーングラフ・パルスでサイズが優先サイズに自動的に設定されます。 コントロールの幅および高さを設定しても、優先サイズには影響を与えません。 レイアウト・コンテナで使用すると、コントロールに適用される(またはコントロールに手動で指定された)レイアウト制約によって、配置とサイズ設定の方法が決まります。
コントロールのスキンはいつでも変更できます。 その場合、コントロールにはレイアウトが必要であることを示すマークが付きます。これは、スキンを変更すると、コントロールの優先サイズが変化する場合があるためです。 コントロールを作成する時点でスキンを指定しないと、すべての組込みコントロールに対して、デフォルトのCSSベースのスキンが提供されます。
各コントロールには、オプションでツールチップが指定される場合があります。 ツールチップは、一定の時間マウスでコントロールをポイントすると、コントロールに関する情報(通常はテキスト)をユーザーに表示するコントロールです。 他のコントロールと同様に、CSSからスタイルを設定できます。
focusTraversableは、ノードではデフォルトでfalseになっていますが、コントロールではデフォルトでtrueになるようにオーバーライドされます。 デフォルトでフォーカス可能にする必要がないコントロール(ラベルなど)では、これがfalseにオーバーライドされます。
getMinWidth、getMinHeight、getPrefWidth、getPrefHeight、getMaxWidth、getMaxHeightの各関数は、スキンに直接委任されます。 baselineOffsetメソッドは、スキンのノードに委任されます。 サブクラスでこれらの委任を変更することはお薦めしません。
コントロールの外観をカスタマイズする方法が2つあります。 最も困難かつ最も柔軟なアプローチは、コントロールで実現しようとするビジュアルを正確に実装したコントロールの新しいスキンを作成することです。 詳細は、スキンのドキュメントを参照してください。
組込みのコントロールのスタイルを設定するための最も簡単で非常に強力な方法は、CSSを使用することです。 このリリースでは、次に示すCSSの説明は、組込みのコントロールのために提供されているデフォルトのスキンにのみ適用されることに注意してください。 今後のリリースでは、これらのCSS機能の利用を希望するカスタムのサード・パーティ・コントロールでも一般的に使用できるようになります。
組込みのコントロール用のデフォルトの各スキンは、複数の個別にスタイル設定可能な領域またはリージョンで構成されています。 これは、<div>で構成され、CSSからスタイル設定されるHTMLページとよく似ています。 個々のリージョンは、背景、ボーダー、イメージ、余白、マージンなどとともに描画される場合があります。 JavaFX CSSのサポートには、複数の背景およびボーダーを保持し、色を派生させることが含まれます。 これらの機能により、CSSからJavaFX内のコントロールの外観を変更することが非常に容易になります。
組込みのコントロールのデフォルトのスキンを描画するために使用される色は、すべて基本色、強調色および背景色から得られます。 コントロールの基本色を変更するのみで、派生したグラデーションを変更したり、デフォルトのスキンと視覚的に適合しながら視覚的に目立つボタンやその他のコントロールを作成できます。
シーングラフの他のすべてのノードと同様に、コントロールも外部のスタイルシートを使用したり、コントロールに直接スタイルを指定してスタイルを設定できます。 たとえば、ノードに直接スタイルを指定する方が、表現と理解は容易になりますが、HTML CSSでHTML要素のクラスまたはIDを使用する場合と同じように、外部のスタイルシートを使用し、コントロールのstyleClassまたはIDを使用することをお薦めします。
各UIコントロールでは、外部のスタイルシートからコントロールのスタイルを設定するために使用できるstyleClassを指定します。 たとえば、Buttonコントロールには「button」CSSスタイル・クラスが指定されます。 CSSスタイル・クラス名は、キャメル・ケースではなくハイフン区切りの小文字で、それ以外は完全に同じです。 たとえば、Buttonはbutton、RadioButtonはradio-button、Tooltipはtooltipというようになります。
各コントロールのクラスのドキュメントでは、スタイル設定可能なデフォルトのスキン・リージョンを定義しています。 JavaFXに備えられているCSS機能の詳細は、「CSSリファレンス・ガイド」を参照してください。
Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.