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

ListView自动滚动仅在手动滚动到底部一次时工作

水昊阳
2023-03-14
HL7ListView extends ListView<String>
public void addItem(String item)
{
    List<String> items = getItems();
    items.add(item);

    scrollTo(items.size());

    scrollPane.setVvalue(1.0);
}

自动滚动只有当我手动滚动到底部一次来“让它继续”时才起作用,如果这有任何意义的话。一旦它被滚动到底部,新项的行为与预期的一样,滚动条自动下降,跟踪ListView的内容。不确定这里可能有什么问题,显然滚动条只有在需要时才会出现,不确定这是否与此有关。

你知道吗?

共有1个答案

狄兴邦
2023-03-14

我认为您不需要将ListView与父级ScrollPane包装起来,因为ListView具有内置的滚动体。可以使用scrollTo()直接使用最后一个索引滚动。

ListView<String> listView = new ListView<>();
listView.getItems().addAll(items);

listView.scrollTo(listView.getItems().size() - 1);

编辑

使用super.scrollto而不是this.scrollto似乎也适用于扩展(HL7ListView),

class HL7ListView extends ListView<String> {

    public HL7ListView() {
    }

    public HL7ListView(List<String> items) {
        this.getItems().addAll(items);
        super.scrollTo(getItems().size() - 1);
    }

    public void addItem(String item) {
        this.getItems().add(item);
        super.scrollTo(getItems().size() - 1);

    }
}
 类似资料:
  • 问题内容: 考虑我有一个问题清单。当我单击第一个问题时,它应该自动带我到页面底部。 实际上,我确实知道可以使用jQuery完成此操作。 因此,您能为我提供一些文档或一些链接,以找到该问题的答案吗? 编辑:需要滚动到页面底部的特定HTML 元素 问题答案: 不需要jQuery。我从Google搜索获得的大多数热门结果都给了我这个答案: 在嵌套元素的地方,文档可能不会滚动。在这种情况下,您需要定位要滚

  • 我有一个问题清单。当我点击第一个问题时,它应该会自动把我带到页面底部。 事实上,我确实知道这可以使用jQuery来完成。 所以,你能给我一些文件或一些链接,我可以找到这个问题的答案吗? 编辑:需要滚动到页面底部的特定HTML元素

  • 我使用JavaFX ListView作为聊天应用程序的聊天室主体。当消息到来或正在发送时,我会添加到listview。这很好,但我总是不得不滚动找到最新的消息。有没有任何方法,我可以自动滚动到底部,以便显示最新的消息,而不必一直向下滚动?

  • 问题内容: 我有一个带有滚动条的文本区域。我会定期添加新的文本行。我希望文本区域在添加新行时自动滚动到最底部的条目(最新条目)。我该怎么做? 问题答案: 看看DefaultCaret的updatePolicy属性:它可能会做您想要的 一个选项很好的总结罗布(@camickr)

  • 现在的情况是:当内部滚动条滚动到底部时如果继续滚动,外部滚动条不会滚动,需要停顿或者移动鼠标滚动才能触发外层滚动条

  • 问题内容: 我需要将JScrollPane滚动到底部。JScrollPane包含一个JPanel,其中包含许多JLabel。 要滚动到顶部,我只需要: 但是如何精确滚动到最底端?(太远了,它抖动) 问题答案: