Basically, you should not use JScrollPane#add
.
JScrollPane
has a single component already attached to it, a JViewport
, this is what the JScrollPane
uses to display any component added to the view port.
setViewportView
is a convenience method for for JScrollPane#getViewport#setView
The basic concept comes down to the fact that from the scroll panes point of view, it will only show a single component, so add
doesn't actually make any sense for it. The method is a consequence of extending from JComponent
-> Container
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…