问题标签 [repaint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在另一个 JPanel 中重绘 JPanel 问题
我在这个里面绘制形状JPanel
,它也在另一个 main 里面JPanel
。在repaint()
它只绘制形状一毫秒然后它们就消失了。他们不会一直画,为什么?
我的paintComponent
方法是这样的
当父级启用时JEditorPane
,setEditable()
它可以工作并且我们可以看到形状,但是当它是 a 时JPanel
,一毫秒后我看到的只是空面板。
forms - 如何在不重新绘制每个控件的情况下同时更改控件?
例如,我需要在运行时禁用两个按钮。在我禁用第一个按钮后,它变成灰色,第二个 - 它也变成灰色。但是我不知道如何使重绘同时进行!
我需要这样的东西:
- 冻结表单(禁用重绘)
- 禁用第一个按钮
- 禁用第二个按钮
- 启用表单重绘
如何实施?
java - JMenuBar 下拉到“自定义”JPanel 并“删除”
的下拉到一个添加到 JFrame 中,但 JPanel 删除JMenuItems
了.
我应该暂停 JPanel 的重新绘制吗?
我正在使用用于绘制图像,此方法是从具有(例如)200 ms 延迟的线程调用的。JMenuBar
JPanel
JMenuItems
getGraphics()
JPanel
编辑:
这是一个(非常简单的)游戏JPanel
。
(我已经在 JPanel 中添加了一个字段paused
,并且我已经编辑了 paint 方法,因此它重新绘制了JPanel
唯一的 if paused
is false
,但是我不知道这个“解决方案”是否好。(它设置为true
当用户点击菜单并设置false
为何时选择或取消它。)
java - 在某些情况下,Java 重绘很慢
它们是 JLayeredPane 中的几个 JPanel、mapgrid 和覆盖,底部带有 mapgrid。Mapgrid 只是在初始化网格时绘制,它的绘制方法是:
在覆盖 JPanel 中,突出显示发生在,这是移动鼠标时重新绘制的内容:
我注意到,即使在鼠标移动时没有重新绘制基础层(mapgrid),只是透明覆盖层,性能也有所欠缺。如果我给覆盖 JPanel 一个背景,它的方式会更快。如果我删除 mapgrid Antialiasing,它也会更快一些。
我不知道为什么为覆盖层提供背景(从而隐藏地图网格)或在地图网格中禁用抗锯齿会导致更好的性能。
有一个更好的方法吗?为什么会这样?
javascript - 回流和重绘有什么区别?
我对回流+重绘之间的区别有点不清楚(如果有任何区别的话)
似乎 reflow 可能会改变各种 DOM 元素的位置,而 repaint 只是渲染一个新对象。例如,在移除元素时会发生回流,而在更改其颜色时会发生重绘。
这是真的?
javascript - 如何报告 JavaScript 函数的进度?
我有一个很长的 JavaScript 函数,它执行许多任务,我想通过在执行过程中使用消息更新 SPAN 元素的内容来向用户报告进度。我尝试在整个函数代码中添加 document.getElementById('spnProgress').innerText = ... 语句。
但是,当函数执行时,UI 不会更新,因此您只会看到写入 SPAN 的最后一条消息,这不是很有帮助。
我目前的解决方案是将任务分解为多个函数,在每个函数结束时,我设置 SPAN 消息,然后通过 window.setTimeout 调用以非常短的延迟(比如 10 毫秒)“触发”下一个函数。这会产生控制并允许浏览器在开始下一步之前使用更新的消息重新绘制 SPAN。
但是我发现这非常混乱且难以遵循代码,我认为必须有更好的方法。有没有人有什么建议?有什么方法可以强制 SPAN 重新绘制而不必离开函数的上下文?
谢谢
qt - 如何重绘另一个 Qt 类
我是Qt的新手...
我有一个 Qt GUI 应用程序(由我编写),我们称之为 QtAPP.exe 当 QtAPP.exe 运行时,我将使用 QThread 和 QProcess 执行一些外部文件,例如 player.exe(用原生 C 编写)。
这是我的问题:在 QtAPP.exe 中,有 2 个类,1. QMainWindow - QtAPP.exe 的核心 2. QThread - 执行外部事物的线程类
现在,如果我在那个 QThread 中得到了一个finished() 信号,我该如何强制 QMainWindow 重新绘制自己?
希望有人能给我一些提示,也许是示例代码:) 欢迎任何建议~
java - Swing 按钮重绘问题
我是 Java 新手,我必须在周日之前完成一个学校项目,但遇到了问题。
这是代码:
单击其中一个 putShip* 按钮时,它应该将自己的图标向右旋转 90°(意味着将其更改为下一个图像),但在单击 startButton 之前它什么也不做,这会将面板更改为另一个。(只有第一个按钮的 actionListener 在这里,其他的几乎相同)。该面板与其他两个面板位于一个 JFrame 中,但它们什么都不做。
我怎样才能让它正常工作?
谢谢你。
c# - 从最小化状态恢复后如何重新绘制表单?
我有一个表单,我在单击按钮时绘制波形,只要单击按钮,波形就会显示。现在当我最小化表格并再次最大化时,波形消失了。如何重新绘制它?我见过人们使用绘画事件,但我不知道如何在按钮点击事件之后/内部使用它。请帮忙。
c# - 在 WinForms 中加速慢速、CPU 密集型滚动
如何加快 WinForms 应用程序中 UserControls 的滚动速度?
我的主窗体在慢速机器上快速滚动时遇到了麻烦——为每个小的滚动增量进行绘制是 CPU 密集型的。
我的表单有大约五十个用户控件(带有多个字段),一个位于另一个之下。我尝试拦截 OnScroll 和 UserPaint 以消除一些非常小的滚动事件不必要的重新绘制,但无论如何都会调用底层的 Paint。
如何在较慢的机器上简化滚动?