Difference between JScrollPane.setviewportview vs JScrollPane.add

前端 未结 1 991
庸人自扰
庸人自扰 2020-12-10 20:00

I faced this new thing today, and I didn\'t know why. When I want to show something in panel for example, I just add it to panel; but why I cannot add a table to scroll pane

相关标签:
1条回答
  • 2020-12-10 20:30

    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.

    enter image description here

    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

    0 讨论(0)
提交回复
热议问题