当前位置: 首页 > 面试题库 >

Java GUI:文档对象模型

翁阳曜
2023-03-14
问题内容

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

当我在Swing中创建GUI时,该模型似乎有很大差异(我不知道模型的名称),因为我正在创建布局管理器,并将对象粘贴在其中。

我的问题:是否有某种方式可以像DOM那样操作Java GUis?

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

谢谢!


问题答案:

对于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();

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

我不确定这是否能回答您的问题。如果您可以张贴自己想做的真实示例,那会更容易。



 类似资料:
  • 十四、文档对象模型 Too bad! Same old story! Once you've finished building your house you notice you've accidentally learned something that you really should have known—before you started. Friedrich Nietzsche,《

  • Element 类型 除了 Document 类型之外,Element 类型就要算是 Web 编程中最常用的类型了。Element 类型用于表现 XML 或 HTML 元素,提供了对元素标签名、子节点及特性的访问。Element 节点具有以下特征: nodeType 的值为1; nodeName 的值为元素的标签名; nodeValue 的值为 null; parentNode 可能是 Docum

  • DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API。DOM 描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。 节点层次 DOM 可以将任何 HTML 或 XML 文档描绘成一个由多层节点构成的结构。节点分为几种不同的类型,每种类型分别表示文档中不同的信息及(或)标记。每个节点都拥有各自的特点、数据和方法,另外也与其他节点存在某种关系。节点之间的关系构成了层

  • 现在我们将开始讨论更“实际”的话题——文档对象(DOM)。文档对象是指在网页文档里划分出来的对象。在 JavaScript 能够涉及的范围内有如下几个“大”对象:window, document, location, navigator, screen, history 等。下面是一个文档对象树,你可以看到对象下包含对象的“壮观”情景。要引用某个对象,就要把父级的对象都列出来。例如,要引用某表单“

  • 在对象(Object,也称实体Entity)、文档(Document)之间实现自动转换,是bugu-mongo的最核心功能,这能让你直接用面向对象的概念来操作MongoDB数据库,而不用去关心底层的数据库细节。 在这方面,bugu-mongo提供了: 注解: @Entity @Id @Property @Embed @EmbedList @Ref @RefList @Ignore @CustomC

  • 本文向大家介绍简述JavaScript对传统文档对象模型的支持,包括了简述JavaScript对传统文档对象模型的支持的使用技巧和注意事项,需要的朋友参考一下  这是将其在JavaScript语言早期版本中引入的模型。大家都被所有浏览器都支持,但只允许访问文件的某些关键部分,如表单,表单元素和图像。 该模型提供了若干个只读属性,如标题,URL和上次更改提供关于文档整体的信息。除了有由该模型可用于设