У меня две панели в моем JInternalframe. Я хочу добавить Jtree на второй Jpanel с именем topPanel. Но я не могу добавить Jtree в topPanel. Пожалуйста, помогите мне. Это мой кусок кода:Невозможно добавить JTree в JPanel JInternalFrame
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Deck");
DefaultMutableTreeNode itemClubs = new DefaultMutableTreeNode("Clubs");
addAllCard(itemClubs);
root.add(itemClubs);
DefaultMutableTreeNode itemDiamonds = new DefaultMutableTreeNode("Diamonds");
addAllCard(itemDiamonds);
root.add(itemDiamonds);
DefaultMutableTreeNode itemSpades = new DefaultMutableTreeNode("Spades");
addAllCard(itemSpades);
root.add(itemSpades);
DefaultMutableTreeNode itemHearts = new DefaultMutableTreeNode("Hearts");
addAllCard(itemHearts);
root.add(itemHearts);
DefaultTreeModel treeModel = new DefaultTreeModel(root);
tree = new JTree(treeModel);
scrollPane = new JScrollPane(tree);
// scrollPane.setViewportView(tree);
scrollPane.getViewport().add(tree);
topPanel.add(scrollPane, BorderLayout.CENTER);
topPanel.setVisible(true);
tree.setVisible(true);
Не добавлять компонент в 'JViewport', использовать что-то более, как' scrollPane.setViewportView (дерево) ', но так как вы уже установил его через конструктор, нет необходимости делать это – MadProgrammer
Рассмотрите возможность предоставления [runnable example] (https://stackoverflow.com/help/mcve), который демонстрирует вашу проблему. Это приведет к меньшему путанице и лучшим ответам. – MadProgrammer
Попробуйте также «tree.expandPath (new TreePath (root))», поскольку корень обычно сбрасывается по умолчанию ... и не отображается: P – MadProgrammer