为什么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);
答案 0 :(得分:5)
给你的JTree
背景,看看它在屏幕上占据的空间。您还可以在swing应用程序中使用 CTRL + SHIFT + F1 ,并在控制台中查看大小,位置和所有内容的不同组件。
我的猜测是mainPanel
没有良好的布局,或者jtree应该有一个不错的首选大小设置。
答案 1 :(得分:4)
为了扩展Snicolas的回答(1+给他),您似乎将JScrollPane添加到您的mainPanel,而不考虑使用的布局管理器。我猜你的GUI正在使用GroupLayout,如果是这样,我建议你使用一个更加用户友好的布局管理器。另外,您是否在包之后添加了窗格JScrollPane并在顶级窗口中调用了setVisible(true)?如果是这样,您将需要重新验证并重新绘制正在接收新组件的容器。