Вопрос

Я хочу добавить 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, а также для получения примеров.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top