java+Swing:矩形或其他“精灵”的高效叠加

2023-12-08

我不太确定如何表达这一点,所以请耐心等待。

我有两个JPanels 在一个容器中JPanelOverlayLayout. Both JPanel容器中的 s 覆盖paint(Graphics).

底端JPanel是不透明的并且绘制了一些相当复杂的图形,因此需要“很长”的时间(10或100毫秒)来渲染。

The top JPanel是透明的,仅根据鼠标输入绘制矩形、线条或简单形状,因此速度非常快。

有没有办法进行设置,以便当我更改上部面板中的简单形状时,它不会重新绘制底部面板?(例如,它以某种方式缓存底部面板)

我对 bitblt、双缓冲和异或绘图等概念有点熟悉,但不太确定在这里应用什么。


你最好使用一个JComponent并创建一个BufferedImage存储底部图像。当。。。的时候paintComponent操作发生在JComponent,您只需将底部图像复制并使用Graphics对象在此基础上进行任何进一步的绘制(从存储的状态)。应该还是比较有效率的。

您需要对底部进行复杂的绘制操作BufferedImage在另一条线索中,正如另一张海报提到的那样(无意中忽略了这一点,抱歉:))。但是,您不想引起此图像的争用,因此您必须存储额外的BufferedImage为此,在绘制操作完成时将其同步传输到另一个图像。

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

java+Swing:矩形或其他“精灵”的高效叠加 的相关文章

随机推荐

  • 从 JMS 侦听器类以编程方式更新某些视图

    我能够将 ActiveMQ 集成并在我的 OpenXava 应用程序中创建 JMS 使用者 现在 我需要使用接收到的数据更新某些瞬态视图 消息 它有几个问题需要考虑 例如 如何从 JMS 侦听器 java 类并将更改推送到当前视图 和 假设
  • 多核CPU单线程行为,未达到100%

    正如您从附图中看到的 我的双核机器上的 CPU 图形奇怪地对称 这是某种负载平衡 以防止一个核心比另一个核心使用更多 其背后的原因是什么 可能是热量分布 当然我主要关心的是 我的单线程 PSNR 图像算法是否达到 100 CPU 为 Cor
  • 为什么所有 openGL 对象都存储在 GLuint 中?

    我最好的猜测是 GLuint 持有一个指针而不是对象 因此它可以 持有 任何对象 因为它实际上只是持有一个指向内存中空间的指针 但如果这是真的 为什么我在使用这些变量时不需要取消引用任何内容 OpenGL对象名字是handles引用 Ope
  • 为每行插入一个数字输入 - R Shiny

    我有一个生成大矩阵的复杂代码 但在这里我附上一个简单的 可重现的示例 以便清楚地解释我想要的内容 这是代码 ui R library shiny shinyUI mainPanel Table Output tableOutput My t
  • 对齐规则

    我在家庭作业问题上遇到了一些麻烦 我想知道是否有人可以为我指出正确的方向 假设我们正在为一台机器编译 1字节字符 2字节 短整型 4 字节整数和 8 字节 实数 并具有对齐规则 需要每个原语的地址 数据元素为偶数倍 元素的大小 进一步假设
  • R 使用链接写入 Excel

    我想知道如何将 r 数据框导出到 excel 格式文件 并嵌入一些链接 这样我就可以使用 R 创建 xlsm 文件 打开 xlsm 文件时 我可以单击某些链接并打开其他文件或网页 我检查了几个 R Write to Excel 包 但几乎找
  • 令牌字符映射到 Ngram 过滤器 ElasticSearch NEST

    我正在尝试使用 NEST 复制以下映射 但在将标记字符映射到标记生成器时遇到问题 settings analysis filter nGram filter type nGram min gram 2 max gram 20 token c
  • Facebook Feed Dialog 返回未处理的 JavaScript,包括导致 iOS 应用程序崩溃的 post_id

    我尝试使用 Facebook 的 Feed Dialog 根据 Facebook 开发者网页上的示例 我编写了两个类我的应用程序模型类 and 我的视图控制 见下文 编译运行没有错误或警告 iOS 应用程序仅在第一次运行时挂起 当我打电话时
  • 如何在 MATLAB 中保存带有封闭框区域的绘图?

    保存绘图时 如何关闭顶部和右侧带有黑线的绘图区域 我不知道如何制作或如何搜索 如果有人知道请告诉我 例如 请看下面所示的图 其中缺少线条 在保存图像之前 请使用box命令 这会将您的绘图包围起来 使其周围有黑框 如您在示例图像中指定的那样
  • 防止直接访问 Node & Express 应用程序中的目录

    在我的 Express 应用程序中 我在 public 中有一个名为 media 的目录 我想限制对其 及其子目录 的访问 重定向或显示 404 我怎样才能实现它 提前致谢 如果你定义了public文件夹中express static像这样
  • 防止对覆盖层后面的元素进行 Tab 键操作

    我正在使用键盘 Tab 键 Shift Tab 键 在整个网页上进行 Tab 键切换 一切都运行良好且顺利 此外 当我继续按 Tab 键时 焦点会循环浏览所有元素 地址栏 元素 返回地址栏等 现在在某些情况下 我的内容之上有一个模式和一个透
  • 为什么 () => void 返回一些东西?

    我知道下面并不意味着返回 类型 为空 我的理解是 voidFunc 不返回任何内容 因为它返回 void 为什么它返回任何类型 type voidFunc gt void const myFunc voidFunc gt return he
  • Getopts 不带破折号地标记错误选项

    Getopt Long Configure no pass through my opts GetOptions opts opt1 s opt2 s opt3 test pl bad option without dash 当传递一个不带
  • SAX 解析“&”字符[重复]

    这个问题在这里已经有答案了 当我尝试解析 char 时 我在 SAX 解析中遇到问题 所有其他特殊字符都会在 SAX 解析器中自动解析 但我在 字符中遇到问题 有人请给我建议吗 首先 我将来自 Web 服务的 XML 保存到一个字符串中 并
  • Angular 2:在引导之前调用服务

    当引导我的 Angular 2 v2 4 时 我尝试运行一个函数 该函数将在应用程序加载之前自动授权用户 然而 这似乎不起作用 import platformBrowserDynamic from angular platform brow
  • 让docker使用IPv4进行端口绑定

    我有 docker 主机 里面有一个容器 docker 主机仅在 IPv6 接口上绑定端口 而不在 IPv4 上绑定端口 这是输出 tcp 0 0 0 0 0 0 22 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 5508
  • 使用 PHP 处理退回邮件?

    这是我的场景 我有 2 个电子邮件帐户 电子邮件受保护 and 电子邮件受保护 我想向我的所有用户发送电子邮件 电子邮件受保护 但然后 回复 电子邮件受保护 到目前为止 我的 PHP 脚本可以处理它 当邮件无法发送时 会发送至 电子邮件受保
  • Android 保存的图像质量低

    我通过下面的代码拍照并保存到 SD 卡 但它生成的图片质量很低 即使是 100 质量 也非常小 也许 bitmap compress 不是正确的方法 或者根本不是位图 这是我的代码 public class TakePhoto extend
  • 为什么在这个绝对的程序中没有显示积极的条款

    让我们从这个演示开始 include
  • java+Swing:矩形或其他“精灵”的高效叠加

    我不太确定如何表达这一点 所以请耐心等待 我有两个JPanels 在一个容器中JPanel与OverlayLayout Both JPanel容器中的 s 覆盖paint Graphics 底端JPanel是不透明的并且绘制了一些相当复杂的