问题标签 [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.

0 投票
5 回答
5839 浏览

java - JTree 实时更新?

我正在寻找一种线程解决方案来每秒更新我的 JTree。

基本上,我...

  • 导入外部文件
  • 从中创建一个枚举
  • 从枚举中构建树

外部文件可以随机变化,树中的数据需要以某种合理的时间方式表示这种变化。我如何能够在不重新绘制 JTree(通过面板)所在的整个内容窗格的情况下重新绘制树?

谢谢!

0 投票
2 回答
11702 浏览

java - 调整大小时重新绘制框架?

repaint()在最大化或调整大小后,我将如何强制 Frame立即执行?

当该特定操作发生时,我找不到调用什么方法。我有一堆用绘图中的图形对象编写的图形,它们的方向取决于实时反馈getWidth()getHeight()但是当我最大化时不会调用绘图,只有当这些像素不幸发生变化时才会调用。

0 投票
1 回答
215 浏览

safari - sIFR.useStyleCheck 在 Safari 4 和 Opera 中的怪异

因此,我使用 sIFR(版本 3,修订版 436)来替换导航中的元素,一切都很漂亮。但是当我打开 sIFR.useStyleCheck 来检测 CSS 负载时,Safari 4 中的一切都变得不正常。通过不正常,我的意思是插入的虚拟 div 似乎在其 42px 的左边距中徘徊,并且它抛出了 sIFR 的文本所以它不在正确的水平位置,或者在应该的时候没有换行,等等。我的浏览器窗口中也有一个水平滚动条,这总是很有趣。但是,如果我调整浏览器窗口的大小,一切都会重新绘制并且再次正常。

我知道这在 Firefox 中不会发生。它似乎确实会影响 Opera。尚未在 Safari 3 中进行测试。天知道当我在 IE 中启动它时会发生什么,但我猜它实际上会没事的,因为 Mark (Wubben) 说 sIFR.useStyleCheck 主要是为了提高 Safari 和 Opera 中的性能。

有什么建议么?我寻找一种强制重绘的方法,但无法弄清楚。如果我这样做了,那将不是一个非常优雅的解决方案。

0 投票
3 回答
6235 浏览

java - java摇摆重绘()

几个小时后的第二个问题

凯,所以我在 java 中制作国际象棋变体,我的控制台程序按我想要的方式工作,但现在我试图将它转换为摇摆 GUI,同时仍然保持控制台的东西完好无损。所以到目前为止,我有一个正方形数组,其中包含用于控制台的碎片,还有一个二维数组 JPanel,其中包含用于 GUI 的碎片。我还没有在 GUI 中实现移动部件,所以我仍然从控制台执行它,但是在我移动部件后实际的 GUI 没有更新......即使它在控制台上执行(对不起,如果这个令人困惑)。

GUI 由一个构造函数组成,该构造函数调用一些方法 drawBoard() 和 drawSidebar() 并设置大小、标题等……所以这就是 main 方法的样子:

和 drawBoard() 以防它有所不同:

repaint 和 revalidate 方法似乎根本没有调用,即使控制台正在更新:(

0 投票
4 回答
3044 浏览

java - 为什么 repaint(long) 会立即重绘?

根据 Javadoc,JComponent.repaint(long)应该在未来的某个时间安排 repaint() 。当我尝试使用它时,它总是会立即触发重绘。我究竟做错了什么?

0 投票
3 回答
986 浏览

c# - DataGridView 因大数据更新而滞后一秒

我有一个大约 400 行和 10 列的 DataGridView。当用户第一次显示该表时,它会从服务器接收所有数据并填充该表。DGV 使用 DataTable 作为它的数据源,并且在更新 DataTable 时我使用 row.BeginEdit/EndEdit 和 acceptChanges,但是当更新视图本身时,它会滞后一秒钟,而所有 DGV 都在更新。我想知道是否有一种方法可以使这个平滑,例如,如果用户正在滚动数据并且它更新,它不会中断滚动。或者,如果用户在屏幕上移动显示器并且它更新,它不会中断。是否有捷径可寻?如果没有,是否可以防止 DGV 在所有事件结束之前更新视图,以便在用户停止滚动、拖动之前不会重新绘制它,

0 投票
3 回答
8489 浏览

java - 使用 Java 的 JComponent repaint()

我正在用 Java 编写一个简单的 Game of Life 程序,但在制作动画时遇到了一些麻烦。我有一个名为LifeDraw的JComponent类,它显示像素网格,具有以下绘制方法:

然后另一个类LifeGrid有一个方法run(),当调用该方法时,将更新一代像素网格,然后调用LifeDraw.repaint()。但是,如果我尝试run()在循环中调用,则JComponent在循环完成之前不会重新绘制,因此所显示的只是第一代和最后一代。我认为它可能只是更新太快而无法重新绘制,所以我尝试Thread.sleep()在迭代之间使用,但仍然遇到同样的问题。理论上(或者至少我希望它会),它应该在每次迭代之间重新绘制组件并显示像素变化的动画。

我对 Java GUI 不是很精通,所以任何帮助都将不胜感激。希望我已经解释得足够清楚,否则请告诉我!

0 投票
6 回答
43429 浏览

java - Swing JPanel 不会重绘

我有一个简单的对象 extends JPanel,当update()在这个对象上调用该方法时,它意味着向面板添加一些标签,然后重新绘制。但是调用更新方法后标签不会显示,下面是更新代码:

有任何想法吗?

谢谢

编辑

解决了:

事实证明,HoleCardsPanel没有正确添加到其父框架。一旦解决了这个问题,添加 new JLabels 就可以了。我也:

  • 使用方法将调用添加update()到事件调度线程SwingUtillities.invokeLater
  • 正如 Devon_C_Miller在他的回答中所建议的那样,必须validate()从最上面的组件(在本例中为)调用。JFrame
0 投票
1 回答
505 浏览

.net - DataGridview 重绘非常缓慢

我在用 C# VS2005 .net 2.0 开发的 Windows 应用程序中使用 datagridview。

Datagridview 提供了一个业务对象列表。在开始以落幕方式在 datagridview 中显示行之前,它需要 2-3 秒的恼人延迟。当我从任何其他窗口切换回我的应用程序时,它会以相同的落幕方式开始重新绘制过程。这很烦人。请有人帮我解决这个问题!

0 投票
1 回答
24439 浏览

qt4 - update() 或 repaint() 无法触发paintEvent()

我有一个 QScrollArea 父亲我很棒的滚动小部件。我喜欢在各种场合更新内容。

为此,我重写了paintEvent(QPaintEvent *). 然后每次我想要它完成时,我都会调用update()小部件。

问题: paintEvent()永远不会被这个调用!

到目前为止我在故障排除方面的尝试:

  • 使用repaint()而不是update(). 应该立即调用它。不幸的是没有。
  • 测试isVisible()updatesEnabled
  • 测试我的覆盖是否正确。调整窗口大小调用我的函数。只有我的手动 update()、repaint() 调用失败。
  • 实现一个 QTimer 以每 500 毫秒触发一次 update() 或 repaint()。触发器给出文本输出,函数不被调用。

有人知道接下来要检查什么吗?什么可以让 repaint()调用paintEvent()?