Java-重新绘制特定组件

Java-重新绘制特定组件,java,swing,user-interface,paintcomponent,Java,Swing,User Interface,Paintcomponent,我正在学习Java作为我学位的一部分,但它非常简短,但无论我做什么,我都想确保我至少有一些理解 到目前为止,我希望在屏幕上显示的任何内容都被放入JPanel的paintcomponent方法中 然而,我已经画出了一些布局不变的部分,中间只有一个东西在旋转。 我有一个计时器,可以调用repaint() 如果我的想法是正确的,包括那些永远不会改变的组件在内的所有东西都会被删除,然后重新绘制,并且每次都会运行整个paintcomponent方法 对我来说,我觉得我应该(或者一定有)一种方法,将静态内容

我正在学习Java作为我学位的一部分,但它非常简短,但无论我做什么,我都想确保我至少有一些理解

到目前为止,我希望在屏幕上显示的任何内容都被放入
JPanel
paintcomponent
方法中

然而,我已经画出了一些布局不变的部分,中间只有一个东西在旋转。 我有一个计时器,可以调用
repaint()

如果我的想法是正确的,包括那些永远不会改变的组件在内的所有东西都会被删除,然后重新绘制,并且每次都会运行整个
paintcomponent
方法

对我来说,我觉得我应该(或者一定有)一种方法,将静态内容移出/只绘制一次,并且只有我特别想要重画的部分应该保留在
paintcomponent
方法中

这是正确的还是我没有完全理解某些东西?

  • 我假设您没有在paintComponent方法中添加GUI组件,对吗
  • 在重新喷漆过程中不会“移除”零部件
  • 最好将任何图像的稳定部分放入单个背景BuffereImage中,并在paintComponent方法中绘制BuffereImage。这可以提高绘画的效率
  • 考虑调用重载
    repaint(…)
    ,为要绘制的区域设置边界矩形

Inside paintComponent只是我的图形工具,filloval和transforms等。计时器正在增加一个计数器,该计数器在其中一个transforms中用作角度,这是唯一正在改变的东西,但不是所有其他东西都在重新绘制?@binarysmacker:是的。这就是为什么你应该考虑我的REC以上。