JTree не появляется - PullRequest
       2

JTree не появляется

3 голосов
/ 22 августа 2011

Почему JTree не появляется? Вот мой код:

    initComponents();
    JTree treeView;
    DefaultMutableTreeNode top = new DefaultMutableTreeNode("myBooks");
    DefaultMutableTreeNode category = new DefaultMutableTreeNode("Drama");
    DefaultMutableTreeNode book1 = new DefaultMutableTreeNode("Macbeth");
    DefaultMutableTreeNode book2 = new DefaultMutableTreeNode("Hamlet");
    category.add(book1);
    category.add(book2);
    top.add(category);
    treeView = new JTree(top);
    JScrollPane pane = new JScrollPane(treeView);
    mainPanel.add(pane);

Ответы [ 2 ]

5 голосов
/ 22 августа 2011

Дайте вашему JTree фону и посмотрите, какое место оно занимает на экране.Также вы можете использовать CTRL + SHIFT + F1 в приложении Swing и видеть различные компоненты в консоли с размером, положением и всем остальным.

Я предполагаю, что mainPanel не имеет хорошего макета, или у jtree должен быть установлен приличный предпочтительный размер.

4 голосов
/ 22 августа 2011

Чтобы расширить ответ Сниколаса (1+ на него), вы, кажется, добавляете JScrollPane к своей основной панели, не обращая внимания на используемый менеджер макетов.Я предполагаю, что ваш графический интерфейс использует GroupLayout, и если так, я предлагаю вам использовать менеджер макетов, который является более удобным для пользователя.Кроме того, вы добавляете панель JScrollPane после вызова pack и setVisible (true) в окне верхнего уровня?Если это так, вам нужно будет повторно проверить и перекрасить контейнер, который получает новый компонент.

...