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 のサブクラスです。