我在 JScrollPane 中有一个 customText 组件。当文本为空且没有滚动条时,我可以看到所有文本。但是当滚动条变得可见时,一些文本被“隐藏”在这些滚动条后面。也许我可以收听 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);
我看到当文本超出面板的可见区域并显示滚动条时,视口的大小如何变化。
编辑。我的自定义组件是 JEditorPane 的子类。