Java jScrollPane不显示滚动条

时间:2013-10-30 16:49:07

标签: java swing jscrollpane jeditorpane

我正在尝试在滚动窗格上运行滚动条。最初我的窗格只是一个加载网页的编辑器窗格。但是,我做了研究,发现你不能将滚动条原生地添加到那种jSwing元素中。所以,我创建了一个jScrollPane并添加了一个jEditorPane。一切都很好,除了我无法弄清楚为什么没有出现滚动条,窗格是完全不可滚动的。非常感谢任何帮助,谢谢。

public Main() {
    initComponents();
    scrollWeb.add(editorWeb);
    editorWeb.setEditable(false);
    editorWeb.setSize(scrollWeb.getWidth(), scrollWeb.getHeight());
    try {
        editorWeb.setPage("http://www.futureretrogaming.tk/news.html");
    } catch (IOException ex) {
        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }

}

2 个答案:

答案 0 :(得分:3)

  

scrollWeb.add(editorWeb);

不要向滚动窗格添加组件。 Intead您将组件添加到滚动窗格的视口:

scrollWed.setViewportView( editorWeb );

或者,当您创建滚动窗格时,您可以使用:

scrollWeb = new JScrollPane( editorWed );

答案 1 :(得分:2)

如果强制JScrollPane视口所持有的组件的大小与JScrollPane的大小相同,则不会滚动:

editorWeb.setSize(scrollWeb.getWidth(), scrollWeb.getHeight());

只是不这样做,因为这会将JEditorPane的大小限制为JScollPane的大小并且不会更大,因此它永远不会扩展。相反,让editorWeb根据其内容更大。