我正在尝试在滚动窗格上运行滚动条。最初我的窗格只是一个加载网页的编辑器窗格。但是,我做了研究,发现你不能将滚动条原生地添加到那种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);
}
}
答案 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根据其内容更大。