Convertir ArrayList en ObservableList dans JavaFX

MD Aminul Islam 12 octobre 2023
Convertir ArrayList en ObservableList dans JavaFX

Parfois, nous travaillons avec une liste sur notre programme. Une liste est un type de tableau.

Il existe deux types de listes avec lesquelles nous pouvons travailler. Le premier est le ArrayList, et le second est le ObservableList.

ArrayList est une classe de tableaux redimensionnables où ObservableList permet à un programme d’écouter et de suivre les changements qui se produisent. Parfois, nous devons convertir une ArrayList en ObservableList à diverses fins.

Cet article explique comment nous pouvons convertir ArrayList en ObservableList. De plus, nous verrons un exemple avec une sortie pour faciliter la compréhension.

Convertir ArrayList en ObservableList dans JavaFX

Ainsi, dans notre exemple, nous allons convertir une ArrayList en une liste Observable. Nous commencerons par inclure les fichiers de package nécessaires pour les composants que nous utiliserons dans notre programme.

Notre exemple de code ressemblera à ceci :

// Importing necessary packages
import java.util.ArrayList; // Package for the ArrayList
import java.util.List; // Package for the list
import javafx.collections.FXCollections; // Package for FxCollections
import javafx.collections.ListChangeListener; // Package for the listener for lists
import javafx.collections.ObservableList; // Package for the ObservableList

public class observableList {
  // Our main method
  public static void main(String[] args) {
    List list = new ArrayList(); // create an array list of integer type
    ObservableList ObList =
        FXCollections.observableList(list); // create an observable list from array

    ObList.addListener(new ListChangeListener() { // add an event listerer for the observable list
      @Override
      public void onChanged(
          ListChangeListener.Change c) { // Method that will execute when any changes occured
        System.out.println("Changes found ...  "); // Show a message that a change occured
      }
    });
    // add items to the observable List and check for size.
    ObList.add(22);
    System.out.println("The ObservableList size is:  " + ObList.size());
    list.add(44);
    System.out.println("The ObservableList size is:  " + ObList.size());
    ObList.add(66);
    System.out.println("The ObservableList size is:  " + ObList.size());
  }
}

Le but de chaque ligne est commandé. Maintenant, nous allons parler des étapes que nous suivons pour convertir la ArrayList list en ObservableList ObList.

Le type de données de ces deux listes est un entier. Tout d’abord, nous avons créé un type entier ArrayList nommé list.

Après cela, nous avons créé une ObservableList nommée ObList avec la liste de tableaux list. Nous avons créé l’écouteur d’événements ci-dessous qui détecte les modifications apportées à la ObList.

Comme action, nous avons affiché un message Changes found... sur la console pour informer l’utilisateur qu’un changement a été trouvé dans ObList.

public void onChanged(ListChangeListener.Change c) {
  System.out.println("Changes found . .  ");
}

Il s’agit d’un écouteur de changement de liste avec ListChangeListener.Change. Vous pouvez y ajouter votre action préférée en fonction de vos besoins.

Enfin, nous avons fourni des données au tableau pour vérifier si notre système fonctionne. Après une compilation et une exécution réussies, vous obtiendrez une sortie comme celle-ci.

Production:

Changes found...
The ObservableList size is: 1
The ObservableList size is: 2
Changes found...
The ObservableList size is: 3

Rappelez-vous, si votre IDE ne prend pas en charge l’inclusion automatique des bibliothèques. Ensuite, vous devrez peut-être inclure manuellement les fichiers de bibliothèque nécessaires avant de compiler ; sinon, il affichera une erreur.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Article connexe - Java JavaFX