作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一个很大的问题。我正在编写一个具有以下结构的 GUI:
MainFrame ( MainPanel ( JScrollPane ( ContentPanel ( Content1,Content2,Content3 ) ) ) )
MainFrame 上还有一个 GlassPane。 GlassPane 类中有一个计时器,大约每 100 毫秒计时一次。
此计时器正在更新 Content1 的 JSlider 的值。 JSlider 还有一个更改监听器,它将拇指的当前 X 坐标提供给 GlassPane。这些坐标用于在每个刻度线(如果发生变化)绘制一条线。此行遍历 Content1、Content2 和 Content3。
我目前正在尝试通过 this.repaint()、MainPanel.repaint()、this.repaint(矩形)、MainPanel.repaint(矩形) 更新这些内容。
不幸的是,所有这些方法(甚至 repaint(Rectangle) o0 )都会调用 Content1、Content2 和 Content3 的 PaintComponent 方法,这会以某种方式创建循环重绘。我无法解释这个循环,并且已经非常绝望了。我将非常感谢任何帮助或建议。
我真的很想给你一些代码,但它太多了。而且我真的不知道什么会有用。
问候, Jade 米
最佳答案
在 JFrame 上执行 this.repaint()
就足够了,它会重新绘制 JFrame 上的所有对象(组件)。
关于java - 循环重绘问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21941729/
我是一名优秀的程序员,十分优秀!