JScrollPane.setviewportview与JScrollPane.add之间的区别

时间:2013-11-22 06:04:48

标签: java swing jtable jscrollpane

我今天遇到了这个新事物,我不知道为什么。例如,当我想在面板中显示某些内容时,我只需将其添加到面板中;但为什么我不能直接添加表格滚动窗格,为什么我必须调用setviewportview()方法? add()方法做什么以及setViewProtView()做什么?

1 个答案:

答案 0 :(得分:16)

基本上,您不应该使用JScrollPane#add

JScrollPane已经附加了一个组件JViewport,这是JScrollPane用于显示添加到视口的任何组件的内容。

enter image description here

setViewportViewJScrollPane#getViewport#setView

的便捷方法

基本概念归结为这样的事实:从滚动窗格的角度来看,它只会显示单个组件,因此add实际上对它没有任何意义。该方法是从JComponent - >延伸的结果。 Container