Java 图形用户界面 : Document Object Model

标签 java swing dom defaultstyleddocument

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

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

我的问题:有没有办法以类似 DOM 的方式操作 Java GUI?

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

谢谢!

最佳答案

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

因此,您可以从 JFrame 中获取内容 Pane ,如下所示:

Container contentPane = frame.getContentPane();

从那里,您可以开始沿着组件树向下移动,使用:

Component[] children = contentPane.getComponents();

从一个 child ,你可以得到它的 parent :

Container parent = child.getParent();

将组件添加到容器中:

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

从容器中移除组件:

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

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

我不确定这能回答您的问题。如果您可以发布您正在尝试做的事情的真实示例,那就更容易了。

关于Java 图形用户界面 : Document Object Model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10542652/

相关文章:

java - 使用 dtd 进行 XML 验证

java - 在 Eclipse Kepler 中制作 toString() 方法来打印继承的字段

java - Swing 无法将自定义字体与 HTML 标记一起使用

java - Action 监听器不适用于鼠标点击

java - Swing & batik : Create an ImageIcon from an SVG file?

jquery - 如何获取iframe中的页面标题?

javascript - 在 jQuery.animate 中动态传递 DOM 对象

java - Mockito框架

java - 用 Java 编写的类是否可以实现用 Clojure 编写的协议(protocol)?

java - JDBC 未选择数据库