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