0

我使用 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();
4

2 回答 2

0

遇到完全相同的问题和

scrolledFormText.reflow(false);

设置文本后是要走的路。将不再帮助 OP,但可能对其他人有用。

于 2016-09-13T09:23:08.247 回答
-1

尝试类似:

scroller = new JScrollPane(favoriteColors,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
于 2013-07-17T03:05:22.020 回答