Разница между JScrollPane.setviewportview и JScrollPane.add

Я столкнулся с этой новой вещью сегодня, и я не знал почему. Когда я хочу показать что-то на панели, например, я просто добавляю это на панель; но почему я не могу добавить таблицу к панели прокрутки напрямую, и почему я должен вызвать setviewportview() метод? Что значит add() метод и что делает setViewProtView() делать?

1 ответ

Решение

В принципе, вы не должны использовать JScrollPane#add,

JScrollPane к нему уже прикреплен один компонент, JViewportэто то, что JScrollPane используется для отображения любого компонента, добавленного в порт просмотра.

введите описание изображения здесь

setViewportView это удобный метод для JScrollPane#getViewport#setView

Основная концепция сводится к тому, что с точки зрения панелей прокрутки он будет показывать только один компонент, поэтому add на самом деле не имеет никакого смысла для этого. Метод является следствием расширения от JComponent -> Container

Другие вопросы по тегам