Java GUI:文档对象模型

2023-11-23

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

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

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

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

Thanks!


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java GUI:文档对象模型 的相关文章

  • Android - 如何访问 onResume 中 onCreate 中实例化的 View 对象?

    In my onCreate 方法 我正在实例化一个ImageButton View public void onCreate Bundle savedInstanceState super onCreate savedInstanceSt
  • java.lang.Class: 在 java 程序中初始化 log4j 属性文件时出错

    我正在尝试使用 log4j 运行独立的 java 程序 但在调试时收到以下消息 控制台上没有 log4j 相关日志 log Logger 1343 java lang Class ERROR in 18b4aac2 有人可以建议这里出了什么
  • 将链接对象转换为流或集合

    我想迭代堆栈跟踪 堆栈跟踪由可抛出对象组成 其 getCause 返回下一个可抛出对象 最后一次调用 getCause 返回 null 示例 a gt b gt null 我尝试使用 Stream iterable 这会导致 NullPoi
  • 通过 InjectMocks Spy 注入对象

    我需要对一个类运行一系列单元测试 该类具有 Autowired Logger 实现 实现的基本思想是 Mock Logger logger InjectMocks TestedClass tested 但我想保存日志输出功能 Mockito
  • Java 泛型/类型调度问题

    考虑以下程序 import java util List import java util ArrayList public class TypeTest public static class TypeTestA extends Type
  • 方法断点可能会大大减慢调试速度

    每当向方法声明行添加断点 在 Intellij IDEA 或 Android Studio 中 时 都会出现一个弹出窗口 方法断点可能会大大减慢调试速度 为什么会这样戏剧性地减慢调试速度 是我的问题吗 将断点放在函数的第一行有什么不同 Th
  • 使用 Java 在浏览器中下载 CSV 文件

    我正在尝试在 Web 应用程序上添加一个按钮 单击该按钮会下载一个 CSV 文件 该文件很小 大小仅约 4KB 我已经制作了按钮并附加了一个侦听器 文件也准备好了 我现在唯一需要做的就是创建单击按钮时下载 csv 文件的实际事件 假设 fi
  • 使用 java 按电子邮件发送日历邀请

    我正在尝试使用 java 发送每封电子邮件的日历邀请 收件人收到电子邮件 但不会显示接受或拒绝的邀请 而是将该事件自动添加到他的日历中 我正在使用 ical4j jar 构建活动 邀请 private Calendar getInvite
  • 使用 Guava 联合两个 ImmutableEnumSets

    我想联合两个ImmutableEnumSets来自番石榴 这是我的尝试 public final class OurColors public enum Colors RED GREEN BLUE YELLOW PINK BLACK pub
  • Java:VM 如何在 32 位处理器上处理 64 位“long”

    JVM 如何在 32 位处理器上处理 64 位的原始 long 在多核 32 位机器上可以并行利用多个核心吗 64 位操作在 32 位机器上慢了多少 它可能使用多个核心来运行不同的线程 但不会并行使用它们进行 64 位计算 64 位长基本上
  • 参数动态时如何构建 JPQL 查询?

    我想知道是否有一个好的解决方案来构建基于过滤器的 JPQL 查询 我的查询太 富有表现力 我无法使用 Criteria 就像是 query Select from Ent if parameter null query WHERE fiel
  • 从 html 页面和 javascript 调用 java webservice

    我正在尝试从 javascript 调用 java 实现的 Web 服务 使用 NetBeans IDE 我读过很多关于 jQuery 和 AJAX 的内容 但我似乎无法掌握它 假设我的 Web 服务 WSDL 位于 http localh
  • 让JScrollPane控制多个组件

    对于我的应用程序 我正在设计一个脚本编辑器 目前我有一个JPanel其中包含另一个JPanel保存行号 位于左侧 以及JTextArea用于允许用户输入代码 位于右侧 目前 我已经实施了JScrollPane on the JTextAre
  • 如何使用 Mockito 和 Junit 模拟 ZonedDateTime

    我需要模拟一个ZonedDateTime ofInstant 方法 我知道SO中有很多建议 但对于我的具体问题 到目前为止我还没有找到任何简单的解决办法 这是我的代码 public ZonedDateTime myMethodToTest
  • Path2D 上的鼠标指针检测

    我构建了一个Path2D http docs oracle com javase 7 docs api java awt geom Path2D html表示由直线组成的未闭合形状 我希望能够检测何时单击鼠标并且鼠标指针靠近路径 在几个像素
  • 重写Object类的finalize()方法有什么用?

    据我所知 在java中如果我们想手动调用垃圾收集器 我们可以执行System gc 1 我们在重写的finalize 方法中做了哪些操作 2 如果我们想手动调用JVM垃圾收集器 是否需要重写finalize 方法 我们在重写的 Finali
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set
  • 为什么 BufferedWriter 不写入文件?

    我有这个代码 String strings Hi You He They Tetrabenzene Caaorine Calorine File file new File G words txt FileWriter fWriter Bu
  • Spring Boot MSSQL Kerberos 身份验证

    目前在我的春季靴子中application properties文件中 我指定以下行来连接到 MSSql 服务器 spring datasource url jdbc sqlserver localhost databaseName spr
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • .NET 应用程序到 Mac OS X 应用程序?

    有没有办法将 NET 应用程序转换为 Mac OS X 应用程序 我正在使用 Visual Basic 2008 并且我希望 Mac 用户也使用我的应用程序 是否可以 如果是这样 请回复并提供链接或来源 答案很大程度上取决于您想要做什么 T
  • “AWSCognito”未定义

    我已经使用以下示例在 nodeJS 中实现 AWS Cognito 但我遇到了错误 AWSCognito 未定义为 no undef 参考链接 https github com aws amazon cognito identity js
  • 如何在 matplotlib 中制作分组箱线图

    我有三种算法 A B 和 C 我已经在不同的数据集上运行它们 并且希望将它们在每个数据集上的运行时间绘制为 Python 中的分组箱线图 作为我想要的视觉示例 我画了一幅糟糕的图 但希望它能表达要点 如果我的 python 数据如下所示 i
  • 无法安装 Docker - 哈希和不匹配(Ubuntu 18.04、Vagrant、Virtualbox)

    我只是无法在 Ubuntu 18 04 的新映像中安装 Docker 在 Virtualbox 中 使用 Vagrant 我正在使用官方网站的说明 https docs docker com install linux docker ce
  • 使用 SFTP 将文件从远程服务器直接复制到 Azure Blob 存储

    我有一个带有一堆静态文件的远程服务器 在Azure之外 我已在 Azure 中创建了辅助角色 并且希望使用该辅助角色通过 SFTP 将这些文件从远程服务器直接传输到我的 Blob 存储帐户 无需在本地复制到辅助角色 是否有关于如何做到这一点
  • JAXB 解组错误:预期元素为 <{ } Root>

    我正在重用其他地方生成的现有对象来解组以 String 类型传入的 XML 数据 物体 3 import java util ArrayList 4 import java util List 5 import javax xml bind
  • SQLite3 和多重处理

    我注意到当我在多处理环境中使用 sqlite3 时 它并不真正有能力也不可靠 每个进程都尝试将一些数据写入同一个数据库 以便一个连接被多个线程使用 我使用 check same thread False 选项进行了尝试 但插入的数量非常随机
  • 为什么javascript在迭代时将数组索引转换为字符串?

    这个 Javascript 逻辑让我困惑 我正在创建一个数组并将其第一个元素设置为数字 当我使用 for 循环对其进行交互时 Javascript 将数组键转换为字符串 为什么 我希望它保留一个数字 stuff stuff 0 3 for
  • PHP 电子邮件发送 BCC

    我知道有一些类似的问题 但我就是无法让它发挥作用 好的 我有一个从数据库中抓取的电子邮件列表 位于名为 emailList 的变量中 如果我将变量放入 我可以获取从表单发送电子邮件的代码 to节但是 我无法让它与密件抄送一起使用 我什至添加
  • 如何在 powershell 3 中将单个 txt 文件移动到 zip

    我正在尝试将一个文本文件复制 移动到 zip 文件 我不想解压它 复制文件并将其压缩回来 有什么方法可以直接将文本文件复制或移动到 powershell 中的 zip 中吗 当我在 powershell 中执行此操作时 当我尝试查看 zip
  • C++ Win32 未在 WM_DEVICECHANGE 上接收 DBT_DEVICEARRIVAL 或 DBT_DEVICEREMOVECOMPLETE

    我一直致力于检测 USB 插入 拔出 我已经使用 CreateWindowEx 实现了代码 并通过我的窗口进程回调传递了 WNCLASSEX 在插入和移除 USB 时 我成功收到 WM DEVICECHANGE 消息 但 wParam 始终
  • 如何将 JavaScript 变量“输出”到 HTML div 中

    我有一个 JavaScript 变量 我希望 HTML div 输出 7 我知道这很简单 但我似乎无法理解这一点 div Have 7 output here div 为 div 指定一个特定的 id 例如 div div 现在使用以下 J
  • 向上导航(操作栏的后箭头)不适用于片段

    我将抽屉布局作为我的活动的基本布局 并且我正在替换此抽屉布局内框架上的两个片段 第一个片段不会添加到片段的返回堆栈中 我在我的活动中显示汉堡包图标 我也希望在我的第一个片段中显示抽屉菜单 在第二个片段中 我禁用了汉堡包图标mActionBa
  • 是否可以使用输入值属性作为 CSS 选择器?

    是否可以使用 CSS 选择器来定位具有特定值的输入 示例 如何根据以下内容定位以下输入value United States
  • 使用 py2exe 捆绑 GTK 资源

    我正在使用 Python 2 6 和 PyGTK 2 22 6一体化安装程序在 Windows XP 上 尝试构建一个单文件可执行文件 通过py2exe 对于我的应用程序 我的问题是 当我将我的应用程序作为脚本运行时 即未内置到 exe文件
  • 当 C 预处理器宏定义两次时会发生什么?

    我定义了一个宏两次 如下所示 define a 2 define a 3 我认为任何发生a代码中将替换为2 什么时候 define a 3遇到了就没有了a代码中的 s 可以替换为3 所以2将优先 但是当我执行它的时候a被替换为3 为什么 如
  • 当我使用 XmlSerializer 反序列化时,为什么我的 DbNull 不是单例?

    我一直认为 DbNull value 是一个单例 因此你可以这样做 VB NET If someObject Is DbNull Value Then End if C If someObject DbNull Value 但最近 我使用
  • Azure 数据工厂和 SharePoint

    我有一些 Excel 文件存储在 SharePoint Online 中 我想要将 SharePoint 文件夹中存储的文件复制到 Azure Blob 存储 为了实现这一目标 我使用 Azure 门户在 Azure 数据工厂中创建一个新管
  • 写入RenderTarget后,如何高效克隆输出?

    XNA菜鸟在这里 每天都在学习 我刚刚弄清楚如何使用 RenderTarget2D 将多个纹理合成为一个 然而 虽然我可以将 RenderTarget2D 用作 Texture2D 来满足大多数用途 但有一个关键的区别 当调整后缓冲区大小时
  • Java GUI:文档对象模型

    HTML 有一个文档对象模型 Javascript 可以对其进行操作 移动 当我在 Swing 中创建 GUI 时 模型似乎非常不同 我不知道模型的名称 因为我正在创建布局管理器 并将对象粘贴在其中 我的问题 有没有办法以类似 DOM 的方