Java と SWT を使用して FormText を含む ScrolledFormText を作成しました。問題は、この ScrolledFormText を含むウィンドウが開き、テキストが ScrolledFormText の最後を通過するまでテキストを入力し始めると、スクロール バーが表示されないことです。またはさらに小さいスクロールバーが表示されます。スクロールバーを表示するためにウィンドウのサイズを変更する必要がないように、この問題の解決策があるかどうかを知りたいです。
関数で ScrolledFormText を作成するコードは次のとおりです。
ScrolledFormText scrolledFormText = new ScrolledFormText(mform.getForm().getBody(), false);
richtextPreview = mform.getToolkit().createFormText(scrolledFormText, false);
scrolledFormText.setFormText(richtextPreview);
mform.getToolkit().adapt(scrolledFormText);
GridData gd_richtextPreview = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
gd_richtextPreview.heightHint = 70;
scrolledFormText.setLayoutData(gd_richtextPreview);
mform.getToolkit().paintBordersFor(scrolledFormText);
mform.getToolkit().paintBordersFor(richtextPreview);
richtextPreview.setColor("header", this.getShell().getDisplay().getSystemColor(SWT.COLOR_BLUE));
richtextPreview.setColor("error", this.getShell().getDisplay().getSystemColor(SWT.COLOR_RED));
richtextPreview.setFont("bold", SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD));
FormText でテキストを設定する部分は次のとおりです。
richtextPreview.setText(buf.toString(), true, true);
richtextPreview.pack();