在paintComponent外部使用Graphics

时间:2012-06-08 17:42:54

标签: java swing graphics paintcomponent

假设我们有以下情况:

JPanel panelp=new JPanel();
paintSomething(panelp.getGraphics();

以及其他对象中的其他位置,方法:

void paintSomething(Graphics g){ /*code*/ }

我不想覆盖paintComponent的{​​{1}}方法。如何使用panelp的{​​{1}}从方法panelp中为paintSomething绘制内容?

2 个答案:

答案 0 :(得分:4)

whatever.getGraphics()是快照,是

时将消失的快照
    首次重绘后
  • JComponetsMouseKey Events内部重新制作,这些事件在具体JComponets API

  • 中实施
  • 使用whatever.getGraphics()的简单示例是打印到打印机或将当前GUI保存为例如打印屏幕。 JPEG或PGN文件

基本内容在2D Graphics

中描述

答案 1 :(得分:3)

您可以将paintSomething中的内容绘制到BufferedImage中,然后通过覆盖paintComponent

将其绘制到面板中