gpt4 book ai didi

java 。 Swing 。 JScrollPane 的 JViewport 大小发生了变化

转载 作者:行者123 更新时间:2023-12-02 07:52:50 24 4
gpt4 key购买 nike

我在 JScrollPane 中有一个自定义文本组件。当文本为空并且没有滚动条时,我可以看到所有文本。但是,当滚动条变得可见时,一些文本会“隐藏”在这些滚动条后面。也许我可以监听 JViewPort 大小的变化并为我的文本组件设置首选大小?

JComponent component = getResTextArea();
component.setPreferredSize(RES_TEXT_AREA_PREFFERED_SIZE);
JScrollPane scrollPane = new JScrollPane(component);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollPane.getVerticalScrollBar().setUnitIncrement(UNIT_INCREMENT);
panel.add(scrollPane);

当文本超出面板的可见区域并显示滚动条时,我看到视口(viewport)的大小如何变化。

编辑。我的自定义组件是 JEditorPane 的子类。

最佳答案

实现此功能的最佳方法是让您的自定义组件实现 javax.swing.Scrollable,并且 getScrollableTracksViewportWidth() 返回 true。这会将 JComponent 的宽度锁定为视口(viewport)的宽度。

关于 java 。 Swing 。 JScrollPane 的 JViewport 大小发生了变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10015553/

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