问题标签 [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 - 在循环中重绘组件
我正在创建一个简单的游戏,我想在每次移动后重新绘制棋盘。所以,在我调用 move() 之后,我想做的是:(顺便说一下,一个 View 是一个保存碎片的 JComponent;由于移动后碎片的数量发生了变化,因此需要重新绘制)
它不工作。当我调用repaint()
单个视图时,它工作正常。我尝试使用paintImmediately
, and revalidate
, and update
... 在循环中没有任何作用。
有任何想法吗?提前致谢。
编辑:我应该补充一点,当调整窗口大小时,repaint() 确实会被调用,所以我知道 View 的 paintComponent 方法是有效的并且可以工作。它只是没有从循环中调用。当调试器单步执行循环时,它不会进入 repaint() 并且屏幕没有任何反应。
java - Java 重绘图像
我的脚本有问题;我想在按下按钮时重新绘制一个新图像(显示另一个图像),但该按钮不执行任何操作......
wpf - 在 WPF 4.0 中强制重新渲染
我正在尝试使用此代码在处理开始之前强制我的进度视图绘制:
基本行为注入。我必须这样做的原因是,否则请等待进度消息直到完成它必须做的任何事情之后才会显示。我正在尝试UpdateLayout
,Measure
但都不起作用。每个人都告诉我,我在 WPF 中做错了事。什么,我应该将我正在执行的每个进程包装在第二个线程或 Dispatcher 调用中吗?这看起来很难看。
java - 在有延迟的循环中重新绘制 JPanel
我正在尝试创建一个程序,该程序将通过在每次排序循环时绘制一组代表数组的条来可视化不同的排序算法。但是,当我从排序器类中设置数组时,它会重新绘制面板,似乎它只在第一次和最后一次迭代中调用paintComponent(),而不是显示中间的步骤。
这是调用 setNumberArray() 方法的排序代码:
哪个电话:
最后绘制条形图:
我知道它不会在两者之间重新绘制(有或没有延迟),因为它只打印一个“。” 当我开始排序时。
c# - Windows窗体不重绘
我是 C# 新手,但我已经使用 VB6 编程很长时间了。我有一个非常简单的项目,运行时没有任何错误。但是有一个问题,它与 Windows 本身有关。如果我打开任何窗口(来自任何其他程序)并且该窗口与我的应用程序重叠......当我关闭那个“其他窗口”时,我的应用程序的窗口不会重新绘制与“其他窗口”重叠的部分。
每当 Windows Vista 的 Bubbles 屏幕保护程序启动时,都会发生同样的事情。当我摇动鼠标取消屏幕保护程序时,你猜怎么着???我的窗户上到处都是气泡。在 VB 中,我们有一个简单的“Window.Refresh”,瞧!然而,在 C# 中,这不起作用。我搜索了论坛,似乎提到了“刷新线程”。在这一点上我有点困惑。为什么事情不能简单?
java - 为什么当我调用 repaint() 时什么都没有绘制?
首先,我是初学者。我正在尝试使用 s 数组制作益智游戏Piece
。每个Piece
代表一个从 1 到 9 的数字。我正在尝试使用 绘制paintComponent(Graphics g)
,但是当我调用该repaint()
方法时,什么也没有发生。没有错误,所以一定有一些我不知道的地方。
我正在使用 NetBeans。我创建了一个新的桌面应用程序,然后添加了一个JPanel
和一个JButton
.
这是我的代码:
repaint()
当我单击按钮时,我试图调用该方法。
这是课程Piece
:
这只是第一步;有好多事情要做。public void paintComponent(Graphics g)
但在我完全理解如何工作之前,我不能继续下去repaint()
。
所以,请,任何帮助将不胜感激。
java - 刷新 GUI 时线程中的异常
我的问题很简单,代码很复杂,答案不是那么容易找到,所以我寻求帮助。
我正在编写一个多线程应用程序,它是这样工作的:
1)一个线程正在读取文件并从文本文件中解析信息(每 500 毫秒尝试到达文件末尾)
2)当找到相关信息时,线程将其存储并通知作为观察者的控制器
3)当通知控制器时,它通知另一个线程(GUI)更新我想向用户显示的信息。
除非我打电话revalide()
或出现异常,因为 GUI 更新得太频繁了validate()
。repaint()
我考虑过运行另一个线程,每 500 毫秒可能会尝试revalidate()
使用 GUI,但可能有更好的选择。有什么我应该担心的,比如在我调用之前停止 GUI 线程revalidate()
然后恢复它或类似的东西?
是的,我确实从面板中删除了组件(JLabels),用新数据替换它们。我会试试你说的。
顺便说一句,invokelater 和 start like another thread 有很大区别吗?
解决方案 :
我创建了一个如下所示的方法:
c# - C# 用户控件重绘
我有一个带有主窗体和几个自定义用户控件的 C# 应用程序。
当我移动主窗体时,用户控件会继续重绘,当我停止移动主窗体时,它们会再次重绘。
我该怎么做才能禁用此重绘?
java - java更新Jpanel组件
我在我的 Gui Builder JFram Class A 中使用 Custome jPanel,我面临的问题是当我单击 JFrame 中的按钮时更新我的 JPanel 中的组件(Lable)。这里是 Gui Builder JFrame ClassA 中的按钮:它改变了Jpl 的颜色并删除所有标签但不更新新标签。
这是在 GuiBuilder JFrame Class A 中用作自定义组件的 Jpl 类。
java - 等待 Swing 的元素重绘完成
我希望能够等待 Swingrepaint
完成。
例子:
我有这样的事情:
这是正确的方法吗?