【问题标题】:vertical scroll bar doesn't appear until i resize the window - ScrolledFormText - Java在我调整窗口大小之前不会出现垂直滚动条 - ScrolledFormText - Java
【发布时间】:2013-07-15 10:11:57
【问题描述】:

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

【问题讨论】:

    标签: java user-interface swt scrollbar


    【解决方案1】:

    遇到了完全相同的问题

    scrolledFormText.reflow(false);
    

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

    【讨论】:

      【解决方案2】:

      尝试类似:

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

      【讨论】:

      • @Trav 我认为这会给 OP 带来与他完全相同的结果。
      • @Trav 问题是针对 SWT,而不是 Swing/AWT
      • @Trav 谢谢,但正如他们回答的那样,我问的是 SWT 而不是 Swing
      猜你喜欢
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 2014-05-05
      • 2017-12-11
      • 1970-01-01
      相关资源
      最近更新 更多