Макет JScrollPane - PullRequest
       11

Макет JScrollPane

0 голосов
/ 27 февраля 2010

Я хочу добавить table2 в панель прокрутки (называемую обратной связью), в которой уже есть table1. Но отображается только одна таблица. Если я использую feedback.add (table2), отображается только 1-я таблица (я думаю, 2-я таблица находится за первой, но я не знаю, как сделать вторую ниже первой). если я использую feedback.getViewport (). add (table2, null), отображается только вторая таблица. Нужно ли мне использовать какой-нибудь менеджер компоновки здесь? Я пытался найти в Интернете информацию о макете скроллпана, но не нашел никаких решений. Может кто-нибудь сказать мне, в чем проблема, или дать мне несколько примеров ссылок? Большое спасибо. Относительный код:

        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);

1 Ответ

10 голосов
/ 27 февраля 2010

Только один компонент может быть добавлен в «область просмотра» JScrollPane. Это делается с помощью:

JScrollPane scrollPane = new JScrollPane( table );

или

scrollPane.setViewportView( table );

Если вы хотите, чтобы несколько компонентов отображались в scrollPane, сначала добавьте компонент на панель и добавьте панель в область просмотра.

Прочтите API JScrollPane для получения дополнительной информации и перейдите по ссылке на учебник Swing, а также для примеров.

...