直到我调整窗口大小时才出现垂直滚动条 - ScrolledFormText - Java

时间:2013-07-17 02:11:23

标签: java user-interface swt scrollbar

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

2 个答案:

答案 0 :(得分:0)

遇到完全相同的问题和

public String getData(){
 return edittext.getString().toString();
}
设置文本后,

是要走的路。不再对OP有所帮助,但可能对其他人有用。

答案 1 :(得分:-1)

尝试类似:

scroller = new JScrollPane(favoriteColors,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);