您可能不需要或不想扩展JScrollPane,但是无论如何,您几乎永远不会直接向JScrollPane而是向其视口添加组件。否则,您将失去视口及其功能。
这可以通过JScrollPane方法完成:
setViewportView(Component comp)
另一种方法是将组件传递到JScrollPane的构造函数(或这里的其 超级 构造函数)中,因为这将自动将组件传递到视口。这只是一点点语法糖。
例如,
private void initGUI() { verticalPanel = new JPanel(); verticalPanel.setLayout(new BoxLayout(verticalPanel, BoxLayout.Y_AXIS)); setViewportView(verticalPanel); // ********** changed ******* setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);}


