当前位置: 首页 > 知识库问答 >
问题:

FXML ListView,我无法将我的ObservableRayList添加到它

束雅达
2023-03-14

我正在用Java和FXML编写一个messenger,我想在ListView(chatBar)上显示用户当前的所有聊天。我的聊天在ObservableRayList中,但我仍然无法将值添加到ListView中。

public void fillChatBar() {
    ArrayList<Chat> chats = db.getAllInvolvedChats(user.getUserID());

    ObservableList<Pane> chatHolder = FXCollections.observableArrayList();

    chats.forEach(chat -> {
        Pane chatPane = new Pane();
        Label chatName = new Label();
        chatName.setText(chat.getOpponent(user.getUserID()).getUsername());
        chatPane.getChildren().add(chatName);
        chatPane.getChildren().add(new ImageView(chat.getOpponent(user.getUserID()).getProfileImage()));

        chatHolder.add(chatPane);
    });

    chatBar.setItems(chatHolder);
}

共有1个答案

百里意智
2023-03-14

问题是您误解了listview的用法;)

存储在列表视图中的不是单元格视图而是模型。在内部,listview创建表示模型项的单元格,并在屏幕上显示它们。您可以通过创建ListView 并将字符串列表添加到项来尝试此操作。您将在屏幕上看到显示string值的标签。对于String这样的基本数据类型,您的ListView会自动创建单元格视图,这样才有意义。对于更复杂的模型类型(如自定义模型列表),您需要编写自己的单元格视图工厂(或在model类中覆盖toString())。请参阅本教程作为使用字符串的第一个示例。这里可以找到一个更复杂的例子。

 类似资料:
  • 我正试图给我的maven项目添加依赖项,但我无法让它工作。 这是我的POM文件: 在构建项目时,我遇到以下错误: 未能在项目培训上执行目标解决方案:无法解析项目hva的依赖项。dmci。信息和通信技术。ads:TrainsSolution:jar:1.0-SNAPSHOT:未能收集[org.junit.jupiter:junit-jupiter:jar:5.4.0-M1(测试)]的依赖项:未能读取

  • 我正在尝试添加卡片视图,但当我使用此依赖项添加库时:我收到以下错误: 错误:任务“:app:processDebugManifest”的执行失败。清单合并失败:属性元数据#android。支持VERSION@value值=(26.0.0-alpha1)来自[com.android.support:appcompat-v7:26.0.0-alpha1]AndroidManifest。xml:27:9

  • 问题内容: 这个清单对象在咬我屁股。 每当我尝试向其中添加元素时,它都会产生以下结果: 产生错误的行无关紧要,但无论如何这里都是这样: 我不应该静态访问它吗? 变量的实际声明: 有任何想法吗?在Google上找不到任何值得的东西。 问题答案: Arrays.asList()将给您返回不可修改的列表,这就是为什么添加失败的原因。尝试使用以下方法创建列表:

  • 所以,最近我开始制作自己的机器人,我也不是最有经验的人,但我知道我在做什么。我打破了基本的不和。在Discord上提供了js索引。js指南,并且只是在其中添加了我自己的代码,而没有实际接触命令处理程序。 对于一些命令,我想有一个烫发水平,只有烫发水平 permlvl 1=管理消息^不是实际的代码只是一个例子,这样只有具有perm级别的用户才能使用它。 这是我的索引。目前: 除了我的另一个客户。和客

  • 我有下一个代码: 它可以编译,但在运行时我有不支持的操作异常。为什么会发生这种情况?

  • 我想在IntelliJ中运行我的第一个程序,但我不能在添加配置部分截图中添加我的主类 确定按钮不起作用