JScrollPane.setviewportview与JScrollPane.add之间的区别
我今天遇到了这个新事物,我不知道为什么。 例如,当我想在面板中显示某些内容时,我只需将其添加到面板中; 但为什么我不能直接添加表格滚动窗格,为什么我必须调用setviewportview()
方法? add()
方法做了什么以及setViewProtView()
做了什么?
基本上,您不应该使用JScrollPane#add
。
JScrollPane
已经附加了一个组件,一个JViewport
,这就是JScrollPane
用来显示添加到视图端口的任何组件的内容。
setViewportView
是JScrollPane#getViewport#setView
的便捷方法
基本概念归结为这样的事实:从滚动窗格的角度来看,它只会显示一个组件,因此add
实际上对它没有任何意义。 该方法是从JComponent
– > Container
扩展的结果