HTML有文档对象模型,JavaScript可以操纵/移动它。
当我在Swing中创建GUI时,模型似乎非常不同(我不知道模型的名称),因为我正在创建布局管理器,并将对象放置在其中。
我的问题是:是否有一种类似于DOM的方式来操纵Java GUIs?
[例如,我想能够删除/添加节点,移动子元素等...]
谢谢!
HTML有文档对象模型,JavaScript可以操纵/移动它。
当我在Swing中创建GUI时,模型似乎非常不同(我不知道模型的名称),因为我正在创建布局管理器,并将对象放置在其中。
我的问题是:是否有一种类似于DOM的方式来操纵Java GUIs?
[例如,我想能够删除/添加节点,移动子元素等...]
谢谢!
对于Swing组件,一切都始于一组JFrame(您也可以拥有JWindow和JDialog,但通常至少有一个根框架)。最可能的是,您只关心该JFrame的contentPane(但是您也可以关心其ownedWindows等等...)。
因此,您可以按以下方式获取JFrame的内容窗格:
Container contentPane = frame.getContentPane();
从那里开始,您可以使用以下方式进入组件树:
Component[] children = contentPane.getComponents();
通过以下代码,您可以获取一个元素的父元素:
Container parent = child.getParent();
container.add(someComponent);
container.validate();
从容器中移除组件的方法如下:
container.remove(someComponent);
container.validate();
HTMLDocument
。 - Andrew Thompson