swing 中的框架、窗格或面板有什么用?

2024-04-05

我读到 JFrame 由多个窗格组成。什么是窗格以及为什么 Jframe 由窗格组成? 为什么会有 JPanel,而 JFrame 看起来与 JPanel 完全一样,但有一个菜单栏和一个关闭按钮,那么 JPanel 需要什么?谁能清楚地向我解释这三个组件的定义和用途?


有顶级容器,例如 JFrame。它们可以作为构建 GUI 的主窗口。

然后是中级容器。这些必须放置在其他容器中,它们不能单独存在。它们要么帮助您组织组件,要么添加功能。 JPanel 是一个非常简单的容器,可帮助您组织其他组件。而 JSplitPane 添加了具有两个可变大小的窗格的功能。

当您有一个复杂的 GUI 时,您可能需要使用 JPanel 来组织 GUI 的各个区域,然后将每个面板添加到 JFrame 中。

在 Java 中,Swing API 使用复合设计模式 http://en.wikipedia.org/wiki/Composite_pattern。这意味着您可以从其他对象组合非常复杂的对象,并且仍然以与简单对象相同的方式处理复合对象。因此,您可以将 JPanel 放入 JPanel 中,它的行为仍然像 JPanel 一样。

把它想象成一个钓具盒(或针线包)。它是由一个大容器制成的。但是,与其将许多小物品放入这个大容器中而导致以后难以管理,不如在大盒子内放置一些较小的隔间。然后将挂钩和沉降片等放入隔间中。它更容易管理。大盒子是 JFrame,隔间是 JPanel。

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

swing 中的框架、窗格或面板有什么用? 的相关文章

随机推荐

  • SVG 图像在某些 Web 服务器上不显示

    我在某些服务器上的 html 文件中显示 svg 图像时遇到问题 这让我感到困惑 因为我认为是否渲染 svg 图像是由浏览器决定的 但浏览器保持不变 我使用以下字符串来显示它们 img src path to image svg alt i
  • F# 中的全局运算符重载

    我正在开始为笛卡尔积和矩阵乘法定义自己的运算符 将矩阵和向量别名为列表 type Matrix float list list type Vector float list 我可以通过编写自己的初始化代码 并获得笛卡尔积 let inlin
  • pytesseract 错误 Windows 错误 [错误 2]

    您好 我正在尝试使用 python 库 pytesseract 从图像中提取文本 请查找代码 from PIL import Image from pytesseract import image to string print image
  • C++ 中的列表析构函数

    我刚刚实现了链接列表 它工作得很好 但甚至很难 我已经看到我无法在 Node 上创建工作析构函数的符号 这就是为什么它在代码中未实现 我需要在节点上实现工作析构函数 List 的析构函数 但这一个很简单 我将只使用 Node 类的析构函数
  • MySql 数据在第 1 行的“提前”列被截断

    在我的项目中 我使用了 txtAdvance 的关键事件 double gtotal Double parseDouble txtGtotal getText double ad Double parseDouble txtAdvance
  • Rails:如何查询 activerecord 中模型的时间范围(而不是日期)值

    我有一个模型time属性 这是用户想要接收电子邮件的时间 即美国东部时间下午 5 点 的配置 它在数据库中存储为21 00 00 我想按范围查询 例如 我希望每个用户都有一个提醒时间20 55 00 and 21 05 05 Rails 似
  • 如果定义了 item,则 Ansible with_items

    安塞布尔 1 9 4 该脚本应该仅在定义了某些变量的主机上执行某些任务 正常情况下可以正常工作 但与with items陈述 debug var symlinks when symlinks is defined name Create o
  • 如何从 React JS 中的另一个组件获取引用

    主App组件中的代码如下 class App extends Component componentDidMount console log this ref debugger render return div div
  • 更改 Twitter 引导模式中的背景颜色?

    在twitter bootstrap中创建模态时 有什么方法可以更改背景颜色吗 完全删除阴影吗 注意 为了消除阴影 这doesn t有效 因为它也会改变点击行为 我仍然希望能够在模式外部单击以将其关闭 myModal modal backd
  • 如何外部化错误消息

    这是一个外部化错误消息的最佳实践问题 我正在开发一个项目 其中存在代码 简短描述和严重性错误 我想知道外部化此类描述的最佳方式是什么 我想到的是将它们放在代码中是不好的 将它们存储在数据库中 将它们放在属性文件中 或者可能有一个加载了描述的
  • Pandas 查找,将数据框中的一列映射到不同数据框中的另一列

    我有两个 pandas 数据框 df1 和 df2 df1 具有 X 列 Y 列以及 weeknum df2 具有 Z weeknum 和 datetime 列 我基本上想保留 df1 并在其中添加一个额外的列 该列对应 weeknum 的
  • 在 Oracle SQL 中根据时间对重复的分组项运行总计

    我的第一篇文章 所以请耐心等待 我想根据按日期划分的值进行求和 但只需要日期的总和 而不是按项目分组的总和 已经为此工作好几天了 试图避免使用光标 但可能不得不这样做 这是我正在查看的数据的示例 顺便说一句 这是在 Oracle 11g 中
  • 如何将对象传输到 Azure Blob 存储而不将文件保存在本地存储上?

    我一直在关注这个来自 GitHub 的示例 https github com Azure Samples storage blobs dotnet quickstart将文件传输到 Azure Blob 存储 程序在本地创建一个文件MyDo
  • UIPageViewController所有页面上的UIButton

    我正在开发一个 iPhone 应用程序 并创建了一个UIPageViewController 我们称其为容器 其中包含多个UIViewController页面 我们称它们为subpages The subpages过渡样式是滚动 现在 我喜
  • 如何让 Selenium WebDriver 等待一段时间?

    我可以编写以下代码让WebDriver等待一段时间 new WebDriverWait driver 20 until ExpectedConditions presenceOfElementLocated By id loginBox B
  • 如何让 PowerShell 4 cmdlet(例如 Test-NetConnection)在 Windows 7 上运行?

    情况 在 Windows 7 SP1 计算机上 我已更新为 Windows6 1 KB2819745 x64 MultiPkg msu 此外 在 PowerShell 中 PSVersionTable 现在报告 PSVersion 4 0
  • Python 进程在 Numpy 数组中仅使用 1.6 GB RAM Ubuntu 32 位

    我有一个学习人工神经网络的程序 它需要一个二维 numpy 数组作为训练数据 我想要使 用的数据数组的大小约为 300 000 x 400 个浮点数 我不能在这里使用分块 因为我正在使用的库 DeepLearningTutorials 采用
  • Azure Pipelines - 使用 azcopy 下载文件

    我可以看到有一个任务将本地文件上传到Azure存储或VM 但是我们如何从 blob 或文件共享下载到管道代理中呢 目前我正在使用 azcopy 和 SAS URI Pipelines 中是否有一个任务可以使用服务连接来执行此操作 因此 由于
  • 在存储位置找不到存档:Google 功能

    我有一个正在运行的 Google 函数 我在代码中使用它并且工作正常 但是当我去 Google 函数查看源代码时 它显示 在存储位置找不到存档 https i stack imgur com NoOOI png为什么我看不到我的源代码 我应
  • swing 中的框架、窗格或面板有什么用?

    我读到 JFrame 由多个窗格组成 什么是窗格以及为什么 Jframe 由窗格组成 为什么会有 JPanel 而 JFrame 看起来与 JPanel 完全一样 但有一个菜单栏和一个关闭按钮 那么 JPanel 需要什么 谁能清楚地向我解