假设我们有以下情况:
JPanel panelp=new JPanel();
paintSomething(panelp.getGraphics();
以及其他对象中的其他位置,方法:
void paintSomething(Graphics g){ /*code*/ }
我不想覆盖paintComponent
的{{1}}方法。如何使用panelp
的{{1}}从方法panelp
中为paintSomething
绘制内容?
答案 0 :(得分:4)
whatever.getGraphics()
是快照,是
JComponets
在Mouse
或Key Events
内部重新制作,这些事件在具体JComponets API
使用whatever.getGraphics()
的简单示例是打印到打印机或将当前GUI保存为例如打印屏幕。 JPEG或PGN文件
基本内容在2D Graphics
中描述答案 1 :(得分:3)
您可以将paintSomething
中的内容绘制到BufferedImage
中,然后通过覆盖paintComponent