是否可以在JTree中创建,而不对每个树节点进行硬编码,而是从xml文件中阅读,并获得与以下代码相同的输出:
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
public class test {
test() {
JFrame f = new JFrame("Swing");
DefaultMutableTreeNode life = new DefaultMutableTreeNode("Life");
DefaultMutableTreeNode plants = new DefaultMutableTreeNode("Plants");
DefaultMutableTreeNode animals = new DefaultMutableTreeNode("Animals");
DefaultMutableTreeNode cryptogamers = new DefaultMutableTreeNode("Cryptogamers");
DefaultMutableTreeNode mammals = new DefaultMutableTreeNode("Mammals");
JTree root = new JTree(life);
life.add(plants);
life.add(animals);
plants.add(cryptogamers);
animals.add(mammals);
f.setSize(200, 200);
f.add(root);
f.setVisible(true);
}
public static void main(String[] args) {
new test();
}
}
我希望使用我创建的XML文件生成相同的结果,但不对每个节点进行硬编码:
<Biosphere name="Life">
<Kingdom name="Plants">
<Division name="Cryptogamers">
</Division>
</Kingdom>
<Kingdom name="Animals">
<Division name="Mammals">
</Division>
</Kingdom>
</Biosphere>
2条答案
按热度按时间s6fujrry1#
如果你用
XMLEncoder
序列化这个树,你可以生成如下所示的东西。通过扩展,你可以编辑它,然后反序列化它。当然,这可以很好地压缩,因为有很多冗余。序列化看起来像:生产:
xfb7svmp2#
有多种XML树表示,您可以将XML文档解析为DOM、Xdm、JDOM等,并通过递归处理该XML树来递归构建JTree,以下是使用Saxon HE和
XdmNode
的示例,例如:撒克逊人他是在Maven例如。
会将当前版本11.4添加到项目中。