假设我有很大的自定义控件刻在里面JScrollPane
或被其他原因剪掉了。如何从paintComponent()
方法中确定要绘制哪些坐标?
问问题
730 次
2 回答
4
看看在 AWT 和 Swing 中的绘画,它有一个很好的解释。
但一般的要点是,当你的组件被绘制时,它的剪切矩形已经设置(nb 需要检查这对于视口是如何工作的,但我怀疑它是相同的)到需要更新的可见区域。
您可以检查 Graphics 上下文的剪辑矩形过去到您的绘画方法,并确定您应该更新哪个区域。
于 2013-02-13T21:03:12.310 回答
2
jScrollPane.getViewport()
一旦在那里,您就可以知道JScrollPane显示的矩形
jScrollPane.getViewport().getViewRect()
所以你可以用那个矩形来绘制你的自定义组件
问候
于 2013-02-13T21:22:49.297 回答