S-JIS[2012-05-13] 変更履歴

ComboBox(JavaFX Scene Builder)

JavaFX Scene BuilderのComboBoxのメモ。


概要

TextFieldとListViewを持つのがコンボボックス。

ListViewはFXMLのロード時に初期化されるが、デフォルトで値が3つ入っているので、initialize()で初期化すべき。

プロパティーのeditableをtrueにすると、TextFieldにユーザーが直接入力できるようになる。


値の操作

現在選択されている値を取得するにはgetValue()を使う。
値を設定するにはsetValue()を使う。
(値をセットするとonActionが呼ばれる)

import javafx.scene.control.ComboBox;
	public ComboBox<String> combobox; //FXMLによって初期化
		String value = combobox.getValue();
		combobox.setValue("new value");

プロパティーのeditableをtrueにするとユーザーが自由に入力できるようになるが、
JavaFX2.1では入力後にEnterキーを押さないとValueに反映されないようだ。
Tabキーを押してフォーカス移動しただけでは、見た目は変更されているのに、getValue()で取得できない。
(→Oracle Discussion ForumsのComboBox#getValue() doesn't work????


リストの操作

コンボボックスのリストはgetItems()でObservableListを取得し、それに対して操作を行う。

ListViewの操作と同様。


使用法に戻る / Scene Builder目次へ戻る / JavaFXへ戻る / Javaへ戻る / 技術メモへ戻る
メールの送信先:ひしだま