在 JavaFX 中将 ArrayList 转换为 ObservableList
有时我们会在程序中使用列表。列表是一种数组。
我们可以使用两种类型的列表。第一个是 ArrayList,第二个是 ObservableList。
ArrayList 是一类可调整大小的数组,其中 ObservableList 允许程序侦听和跟踪发生的更改。有时,出于各种目的,我们需要将 ArrayList 转换为 ObservableList。
本文将解释我们如何将 ArrayList 转换为 ObservableList。此外,我们将看到一个带有输出的示例,以便于理解。
在 JavaFX 中将 ArrayList 转换为 ObservableList
因此,在我们的示例中,我们将 ArrayList 转换为 Observable 列表。我们将首先包含我们将在程序中使用的组件的必要包文件。
我们的示例代码如下所示:
// Importing necessary packages
import java.util.List; // Package for the list
import java.util.ArrayList; // Package for the ArrayList
import javafx.collections.ObservableList; // Package for the ObservableList
import javafx.collections.ListChangeListener; // Package for the listener for lists
import javafx.collections.FXCollections; // Package for FxCollections
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());
}
}
每一行的目的都是命令的。现在,我们将讨论将 ArrayList list
转换为 ObservableList ObList
的步骤。
这两个列表的数据类型都是整数。首先,我们创建了一个名为 list
的整数类型 ArrayList
。
之后,我们用数组列表 list
创建了一个 ObservableList
名称 ObList
。我们创建了以下事件侦听器,用于检测对 ObList
所做的更改。
作为一项操作,我们在控制台上显示了一条消息 Changes found...
以通知用户在 ObList
中发现了更改。
public void onChanged(ListChangeListener.Change c) {
System.out.println("Changes found . . ");
}
这是一个带有 ListChangeListener.Change
的列表更改监听器。你可以根据需要将首选操作添加到其中。
最后,我们向阵列提供了一些数据,以检查我们的系统是否正常工作。成功编译并运行后,你将获得如下输出。
输出:
Changes found...
The ObservableList size is: 1
The ObservableList size is: 2
Changes found...
The ObservableList size is: 3
请记住,如果你的 IDE 不支持自动包含库。然后你可能需要在编译之前手动包含必要的库文件;否则,它将显示错误。
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