Вопрос
Я хочу добавить table2 в scrollpanel (называемую feedback), в которой уже есть table1.Но отображается только одна таблица.Если я использую feedback.add(table2), отображается только 1-я таблица (я предполагаю, что 2-я таблица находится за первой, но я не знаю, как сделать вторую ниже первой).если я использую feedback.getViewport().add(table2, null), отображается только 2-я таблица.Нужно ли мне здесь использовать какой-нибудь менеджер компоновки?я попытался поискать в Интернете информацию о макете scrollpanel, но не получил никаких решений.Кто-нибудь может сказать мне, в чем проблема, или дать мне несколько связанных ссылок-примеров?Большое спасибо.Относительным кодом являются:
content = getContentPane();
content.setLayout(new FlowLayout());
scrollPane = new JScrollPane(tree);
feedback = new JScrollPane(table1);
JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,scrollPane, feedback);
content.add(splitPane);
.
.
.
.
feedback.add(table2);
//i add this, but still doesn't work
content.add(table2);
Решение
Только один компонент может быть добавлен в "окно просмотра" JScrollPane.Это делается с помощью:
JScrollPane scrollPane = new JScrollPane( table );
или
scrollPane.setViewportView( table );
Если вы хотите, чтобы несколько компонентов отображались в scrollPane
затем сначала добавьте компонент на панель и добавьте панель в окно просмотра.
Ознакомьтесь с API JScrollPane для получения дополнительной информации и перейдите по ссылке на руководство по Swing, а также для получения примеров.