Java中的paint()和repaint()

2024-04-21

我可能花了两个小时浏览和阅读这些方法和 Graphics 类,也许我很愚蠢,哈哈,但我只是不理解它们。它们是做什么用的?我知道他们应该重绘或更新屏幕上的组件,但我从来不明白为什么需要这样做(我对此很陌生)。例如,如果我在屏幕上移动 JLabel,调用 setLocation() 就可以很好地移动它。这是不需要 repaint() 的场景吗?它在哪些场景下有用,为什么?

如果您认为这是一个可以使用搜索功能解决的问题,但无论出于何种原因我没有得到它,我深表歉意。


Paint() 和 Repaint() 方法之间的区别

Paint():

该方法包含绘制该组件的指令。实际上,在Swing中,您应该更改paintComponent()而不是paint(),因为paint调用paintBorder()、paintComponent()和paintChildren()。您不应该直接调用此方法,而应该调用 repaint()。

重新绘制():

该方法无法被重写。它控制 update() -> Paint() 循环。您应该调用此方法来让组件重新绘制自身。如果您已执行任何操作来更改组件的外观,但未更改其大小(例如更改颜色、动画等),则调用此方法。

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

Java中的paint()和repaint() 的相关文章

  • 将 Hibernate 对象序列化为 JSON 时抛出异常

    好吧 我正在使用 Hibernate 将一个小型数据库加载到一些表示表的类并与数据库交互 一切都很好 我真的可以看到所有结果 而且我没有任何空字段 所有这些都已被使用 这里我展示了 主 类 表 import javax persistenc
  • 使用 HttpUrlConnection Android 将 base64 编码的图像发送到服务器

    我正在尝试使用 HttpUrlConnection 将 base64 编码的图像发送到服务器 我遇到的问题是大多数图像均已成功发送 但有些图像会生成 FileNotFound 异常 我的图像编码代码可以在下面找到 public static
  • 手动编辑 Jar 以更改包名称

    我有一个来自外部源的 jar 文件 jar 中的所有类都位于 com xyz 包中 我想将所有类移动到 com xyzold 包中 这是否像解压缩 jar 将 xzy 文件夹重命名为 xyzold 并重新压缩它一样简单 或者我还需要修改每个
  • Jackson - 反序列化嵌套 JSON

    我有一个 JSON 字符串 其格式如下 response execution status ready report cache hit true created on 2013 07 29 08 42 42 fact cache erro
  • jvm 次要版本与编译器次要版本

    当运行使用具有相同主要版本但次要版本高于 JVM 的 JDK 编译的类时 JVM 会抛出异常吗 JDK 版本并不重要 类文件格式版本 http blogs oracle com darcy entry source target class
  • 防止 Spring Boot 注册 Spring Security 过滤器之一

    我想禁用安全链中的 Spring Security 过滤器之一 我已经看到了防止 Spring Boot 注册 servlet 过滤器 https stackoverflow com questions 28421966 prevent s
  • 使用 Java 在 WebDriver 中按 Ctrl+F5 刷新浏览器

    我已经使用 java 刷新了 WebDriver 中的浏览器 代码如下 driver navigate refresh 如何使用 Java 在 WebDriver 中按 Ctrl F5 来做到这一点 我认为您可以使用 WebDriver 和
  • URL.setURLStreamHandlerFactory

    我正在使用带有嵌入式 Jetty 的可执行 jar 开发一个 Web 应用程序 我的jar包含一个依赖jar jar in jar 我参考了JarRsrcLoader and RsrcURLStreamHandlerFactory由 Ecl
  • 哪个 Swing 布局管理器可以获得我想要的布局?

    我正在尝试按照这个模型制作一个基本的登录菜单 我决定将整个菜单放入 JPanel 中 以便在连接成功后我可以切换到另一个面板 所以我决定使用 Borderlayout 将标题放在北区 将连接按钮放在南区 我将边框布局的中心本身设置为面板 我
  • 字符串池可以包含两个具有相同值的字符串吗? [复制]

    这个问题在这里已经有答案了 字符串池可以包含两个具有相同值的字符串吗 String str abc String str1 new String abc Will the second statement with new operator
  • Java Microsoft Excel API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • 异步迭代器

    我有以下代码 while slowIterator hasNext performLengthTask slowIterator next 由于迭代器和任务都很慢 因此将它们放入单独的线程中是有意义的 这是对迭代器包装器的快速而肮脏的尝试
  • 在 IntelliJ 中运行 Spring Boot 会导致 Unable to load 'javax.el.E​​xpressionFactory'

    我正在尝试运行一个简单的 Spring Boot 应用程序 该应用程序具有以下 Maven pom file
  • 带有 OpenId 提供程序的 Java Spring 安全性

    我有一个 spring MVC 应用程序 另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序 如何在服务器端实现开放ID提供商 请帮忙 MITREid 连接 OpenID Connect Java
  • Java中的回调接口是什么?

    SetObserver 接口的代码片段取自有效的Java 避免过度同步第67条 public interface SetObserver
  • Java:由 HTTP 连接创建的等待连接线程存活时间很长

    我有一个服务器端代码 用于检查 SOAP 服务是否已启动 代码如下 String response while response length 0 try final URL url new URL DummySoapServiceURL
  • 使用 JAD 反编译 java - 限制

    我正在尝试使用 Java 中的 JAD 反编译几个 jar 文件 我也尝试过 JD GUI 但运气更差 但出现了很多错误 一种类型 易于修复 似乎是内部类 但我也发现了这段代码 static int SWITCH TABLE atp com
  • 失败时石英重试

    假设我有一个这样配置的触发器
  • 摩尔斯电码 至 英语

    我现在的问题是让 摩尔斯电码转英语 正常工作 将英语转换为莫尔斯电码的第一部分工作正常 我知道以前已经有人问过这个问题 但我不知道我做错了什么 我知道我需要在某个地方进行拆分 但我只是不确定将其放在代码中的何处 现在 莫尔斯电码到英语的部分

随机推荐

  • 为什么我在访问最终局部变量时会出现 Java 中的 InstantiationException?

    我正在玩一些代码来制作 类似闭包 的构造 顺便说一句 不起作用 一切看起来都很好 但是当我尝试访问代码中的最终局部变量时 出现异常InstantiationException被抛出 如果我通过完全删除局部变量或使其成为类属性来删除对局部变量
  • 修复 iOS7 上主体背景随页面滚动的问题

    我使用以下 CSS 来创建固定的主体背景 除了新的 iOS7 之外 它几乎可以在所有浏览器上运行良好 后者的背景不再固定 它随页面滚动 知道如何解决这个问题吗 body background color 000 background ima
  • Coldfusion SQL 插入循环

    遇到一个问题 我想我可以看看是否有人对如何解决它有任何想法 基本上 我在单个变量下传递多个值 并且我想使用循环来提取每个单独的值并同时插入它 例如 ischecked 是我用来传入设备值的变量 如果我要选择两个设备 按提交并将变量 form
  • std::valarray 的运算符* 有什么问题?

    考虑以下 MCVE 其中我有两个值数组 其中w是两次v 在这里尝试一下 https godbolt org z JkXPNN include
  • 语音识别减少可能的搜索结果

    我开始使用 android sl4a 和 python 进行语音识别 到目前为止 它运行良好 我的用户应该用他的声音输入 0 到 9 之间的数字 有没有办法告诉android只搜索这些数字 从而减少识别时间 可能还有错误 不可以 您无法更改
  • Hello world WebGL 并行性示例

    围绕 WebGL 似乎有许多用于运行并行处理的抽象 例如 https github com MaiaVictor WebMonkeys https github com MaiaVictor WebMonkeys https github
  • 魔法记录添加对象,不同上下文错误

    我在我的应用程序中使用 Magical Record 并希望为用户添加添加 注释 的功能 注释 是 条目 的子项 我添加了这段代码 MagicalRecord saveWithBlock NSManagedObjectContext loc
  • 如何将 HashMap 作为 JSON 类型插入到 PostgreSQL 中?

    contacts数据结构为HashMap 我在用着PostgreSQL客户 Rust Postgres https github com sfackler rust postgres插入contact的键和值放入一个表中 然后我想从表中进行
  • 在 R 中上传超过 2.15 GB 的文件

    我有一个手动流程 通过curl 将 5 6 GB 文件上传到网络服务器 curl X POST data binary myfile csv http myserver port path to api 这个过程工作正常 但我很想使用 R
  • hg 将补丁应用于工作目录是什么意思?

    我一生中第一次尝试使用补丁 恢复损坏的存储库 所以我对这个概念不是很熟悉 尽管我读过一点 我正在使用 TortoiseHg 我已经创建了一个补丁 作为文件 切换到另一个存储库 并尝试导入它 我已要求 THg 将其导入存储库 其他选项是货架和
  • 我应该牺牲 innodb_buffer_pool_size/RAM 来为 query_cache_size 腾出空间吗?

    我有一个 16GB 的专用 Mysql 服务器数据库 我的 innodb buffer pool size 设置为 11GB 左右 我正在系统中实现查询缓存 其大小为 80mb 我应该从哪里创建这个空间 innodb buffer pool
  • 保护 .net Web 服务 URL

    我使用 Asp net 3 5 创建了 Web 服务 现在它在实时 Windows 服务器中完美运行 并在使用以下 url 调用它时为我提供完美的 xml http www somedomain com Service asmx op fe
  • iisnode 托管的 Web 应用程序能否计算出其托管的虚拟路径?

    我在用iisnode https github com tjanczuk iisnode在 Windows 上的 IIS 中托管节点 Web 应用程序 当我在 Web 服务器 例如 Express 或 Restify 上设置路由时 我希望以
  • Android 应用程序在调用 System.exit(0) 后不会关闭

    在添加 Admob 活动之前 我有一个运行良好的 Android 应用程序 我正在通过终止进程来关闭我的应用程序 调用 System exit 0 我知道这是完成应用程序的最糟糕的解决方案 我正在使用 OpenGL 状态和 libgdx f
  • 为什么我应该由 setTimeout 调度的函数调用立即执行? [复制]

    这个问题在这里已经有答案了 这是我的问题 我有这个功能来测试代理服务器 function crawl var oldstatus document getElementById status innerHTML document getEl
  • 如何统计字符串中大写字母、小写字母和数字的个数?

    我想用 C 编写一个程序 它从用户那里获取一个字符串 并输出大写字母 小写字母和数字的数量 例如对于输入 aKb12CD34 结果应为 2 个小写字母 3 个大写字母和 4 个数字 Try include
  • PHP Stream_socket_client 的最大套接字数

    我需要检查数百个 URL 并使用stream socket client为每个URL创建套接字 然后使用stream select来检索它们并评估它们的响应时间等 但是 在创建 237 个套接字之后 我无法再创建套接字 没有错误代码或消息表
  • ASP.NET MVC3 Razor 视图 - VS2010 中编辑速度极慢

    我有一个用 ASP NET MVC3 编写的相对较小的项目 工作一段时间后 Visual Studio 2010 在 Razor 视图中变得非常慢 其他文件类型工作正常 我所说的 慢 是指 每次击键大约需要 1 秒才能注册 击键是什么并不重
  • 远程服务器返回错误:(407) 需要代理身份验证

    当我调用网络服务时出现此错误 远程服务器返回错误 407 需要代理身份验证 我了解了总体思路 并且可以通过添加来使代码正常工作 myProxy Credentials NetworkCredential user password doma
  • Java中的paint()和repaint()

    我可能花了两个小时浏览和阅读这些方法和 Graphics 类 也许我很愚蠢 哈哈 但我只是不理解它们 它们是做什么用的 我知道他们应该重绘或更新屏幕上的组件 但我从来不明白为什么需要这样做 我对此很陌生 例如 如果我在屏幕上移动 JLabe