Kontrol dan ComboBox JavaFX

Kelas ComboBox membuat kontrol yang memungkinkan pengguna untuk memilih opsi dari daftar pilihan yang ada. Daftar drop-down muncul ketika pengguna mengklik kontrol ComboBox. Ketika jumlah opsi melebihi ukuran jendela drop-down, pengguna dapat menggulir ke bawah ke opsi lebih lanjut. Ini berbeda dari Kotak Pilihan yang terutama digunakan ketika jumlah pilihan adalah set yang relatif kecil.

Pernyataan Impor

javafx.scene.control. Kotak kombo

Konstruktor

Kelas ComboBox memiliki dua konstruktor tergantung pada apakah Anda ingin membuat objek ComboBox kosong atau yang diisi dengan item.

Untuk Membuat ComboBox Kosong

Buah ComboBox = new ComboBox ();

Untuk membuat objek ComboBox dan mengisinya dengan item String dari ObservableList

Buah yang dapat diobservasi = FXCollections.observableArrayList ( 
"Apple", "Banana", "Pear", "Strawberry", "Peach", "Orange", "Plum");
ComboBox fruit = ComboBox baru (buah-buahan);

Metode yang Berguna

Jika Anda membuat objek ComboBox kosong Anda dapat menggunakan metode setItems. Melewati ObservableList objek akan mengatur item di Combobox.

instagram viewer
Buah yang dapat diobservasi = FXCollections.observableArrayList ( 
"Apple", "Banana", "Pear", "Strawberry", "Peach", "Orange", "Plum");
fruit.setItems (buah-buahan);

Jika Anda ingin menambahkan item ke daftar ComboBox nanti, Anda dapat menggunakan metode addAll dari metode getItems. Ini akan menambahkan item ke akhir daftar opsi:

fruit.getItems (). addAll ("Melon", "Cherry", "Blackberry");

Untuk menambahkan opsi ke tempat tertentu di daftar opsi ComboBox, gunakan metode add dari metode getItems. Metode ini mengambil nilai indeks dan nilai yang ingin Anda tambahkan:

fruit.getItems (). add (1, "Lemon");

catatan: Nilai indeks ComboBox mulai dari 0. Misalnya, nilai "Lemon" di atas akan dimasukkan ke dalam daftar opsi ComboBox di posisi 2 karena indeks yang diteruskan adalah 1.

Untuk pra-pilih opsi dalam daftar opsi ComboBox, gunakan metode setValue:

fruit.setValue ("Cherry");

Jika nilai yang diteruskan ke metode setValue tidak ada dalam daftar, maka nilainya akan tetap dipilih. Namun, itu tidak berarti nilai ini telah ditambahkan ke daftar. Jika pengguna kemudian memilih nilai lain maka nilai awal tidak lagi ada dalam daftar yang akan dipilih.

Untuk mendapatkan nilai item yang saat ini dipilih di ComboBox, gunakan metode getItems:

String yang dipilih = fruit.getValue (). ToString ();

Kiat Penggunaan

Jumlah opsi yang biasanya disajikan oleh daftar tarik ComboBox adalah sepuluh (kecuali ada kurang dari sepuluh item dalam hal ini default untuk jumlah item). Nomor ini dapat diubah dengan menggunakan metode setVisibleRowCount:

fruit.setVisibleRowCount (25);

Sekali lagi, jika jumlah item dalam daftar kurang dari nilai yang ditetapkan dalam metode setVisibleRowCount, ComboBox akan default untuk menampilkan jumlah item dalam dropdown ComboBox.

Menangani Acara

Untuk melacak pemilihan item pada objek ComboBox Anda dapat menggunakan metode addListener dari metode terpilihItemProperty dari SelectionModel untuk membuat ChangeListener Ini akan mengambil perubahan acara untuk ComboBox:

final Label selectionLabel = Label baru ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
ChangeListener baru () {
kekosongan publik berubah (Nilai yang Dapat Dilihat,
String old_val, String new_val) {
selectionLabel.setText (new_val);
}
});
instagram story viewer