JTree没有出现

时间:2011-08-22 01:38:49

标签: java swing jtree

为什么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 个答案:

答案 0 :(得分:5)

给你的JTree背景,看看它在屏幕上占据的空间。您还可以在swing应用程序中使用 CTRL + SHIFT + F1 ,并在控制台中查看大小,位置和所有内容的不同组件。

我的猜测是mainPanel没有良好的布局,或者jtree应该有一个不错的首选大小设置。

答案 1 :(得分:4)

为了扩展Snicolas的回答(1+给他),您似乎将JScrollPane添加到您的mainPanel,而不考虑使用的布局管理器。我猜你的GUI正在使用GroupLayout,如果是这样,我建议你使用一个更加用户友好的布局管理器。另外,您是否在包之后添加了窗格JScrollPane并在顶级窗口中调用了setVisible(true)?如果是这样,您将需要重新验证并重新绘制正在接收新组件的容器。