paintComponent()外部的图形形状(java)

时间:2019-03-16 00:44:43

标签: java graphics

我对Java中的图形是陌生的,并且难以掌握从一种方法(paintComponent())绘制所有图形的整个概念。我只是想知道我们是否可以在paintComponent之外绘制图形。那有可能吗?是否可以在main方法中编写一行,例如:  fillRect(100,100,500,400); 并绘制一个矩形? 如果可能的话,这是Java的传统做法吗?

基本上,我问您是否可以在paintComponent类之外绘制图形,这是否是常规的。

1 个答案:

答案 0 :(得分:0)

您可以绘制到saved_model_cli run --dir /export_dir --tag_set serve --signature_def out --inputs 'x:0=test_in1.npy;1:0=test_in2.npy' --tf_debug ,但是如果要在屏幕上绘制它,通常需要使用BufferedImage。您可以将传递到paintComponent的{​​{1}}实例传递给其他类,这些实例可以执行更复杂的操作,但是您永远不要维护该实例的引用,也不要尝试在绘制循环上下文之外进行绘制。 / p>

有关更多详细信息,请参见Painting in AWT and SwingPerforming Custom Painting

如果您需要对绘画过程进行更多控制,也可以使用Graphics

有关更多详细信息,请参见BufferStrategy and BufferCapabilities

您应该了解的事情:

  • Swing使用“被动渲染”方法,这意味着绘画是在绘画系统决定需要完成时进行的。这就是为什么您必须在绘制循环的上下文中执行绘制的原因(即-在paintComponent方法中)
  • BufferStrategy使用“主动渲染”方法,可以完全控制绘画过程,但不能绘画Swing组件