Java GUI:文档对象模型

时间:2012-05-10 21:49:36

标签: java swing dom defaultstyleddocument

HTML有一个文档对象模型,然后Javascript可以操作/移动。

当我在Swing中创建GUI时 - 模型看起来非常不同(我不知道模型的名称),因为我正在创建布局管理器,并在其中粘贴对象。

我的问题:是否有某种方式以类似DOM的方式操纵Java GUis?

[例如,我希望能够删除/添加节点,移动孩子等...]

谢谢!

2 个答案:

答案 0 :(得分:7)

对于Swing组件,一切都从一组JFrame开始(你也可以有JWindow和JDialog,但你通常至少有一个根框架)。最有可能的是,你关心的只是那个JFrame的contentPane(但你也可以关心它拥有的Windows等等。)

因此,从JFrame中,您可以获得如下内容窗格:

Container contentPane = frame.getContentPane();

从那里开始,您可以使用以下命令开始关注组件树

Component[] children = contentPane.getComponents();

从孩子那里,你可以通过以下方式获得其父母:

Container parent = child.getParent();

将组件添加到容器中:

container.add(someComponent);
container.validate();

从容器中删除组件:

container.remove(someComponent);
container.validate();

要将组件从一个Container移动到另一个Container,只需将其从一个容器中移除并将其添加到另一个容器中即可。

我不确定这会回答你的问题。如果你能发布你想要做的事情的真实例子会更容易。

答案 1 :(得分:3)

我不确定这会解决您的疑虑,但有XML-driven Java UI toolkits