gpt4 book ai didi

java - JScrollPane 和 JList 自动滚动

转载 作者:搜寻专家 更新时间:2023-10-30 19:44:42 24 4
gpt4 key购买 nike

我有下一个代码:

    listModel = new DefaultListModel();
listModel.addElement(dateFormat.format(new Date()) + ": Msg1");
messageList = new JList(listModel);
messageList.setLayoutOrientation(JList.VERTICAL);

messageScrollList = new JScrollPane(messageList);
messageScrollList.setPreferredSize(new Dimension(500, 200));

messageScrollList.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent e) {
e.getAdjustable().setValue(e.getAdjustable().getMaximum());
}
});

它会自动向下滚动。但是,如果我尝试向上滚动以重新阅读消息,它会强制向下滚动。我该如何解决这个问题?

最佳答案

添加新消息时,调用scrollRectToVisible()JList 上使用 Rectangle与消息 Pane 的首选大小具有相同的尺寸。给定一个垂直方向,可以方便地设置 JScrollPane 的首选大小的 JViewport消息 Pane 高度的整数倍。另请参阅:How to Use Scroll Panes .

附录:关于 Text Area Scrolling 的引人注目的讨论也可能有帮助。

关于java - JScrollPane 和 JList 自动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2132444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com