如何将JPanel画出的图像,保存在缓存区(Bufferedimage),再通过drawImage()画出来
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (bufferedImage == null)
{
g.setColor(Color.red);
for (int i = 0; i < numCities; i++) {
g.fillOval(city[i].getX(), city[i].getY(), 10, 10);
g.drawString(city[i].getCityName(), city[i].getX() + 10,
city[i].getY() + 10);
}
g.setColor(Color.cyan);
for (int i = 0; i < numFlights; i++) {
g.drawLine(flights[i].from.getX(), flights[i].from.getY(),
flights[i].to.getX(), flights[i].to.getY());
}
}else{
g.drawImage(bufferedImage, 0, 0, null);
System.out.println("repaint");
}
}
p是JPanel对象。
BufferedImage bi = (new BufferedImage(p.getWidth(),p.getHeight(),BufferedImage.TYPE_INT_RGB)) ;
这样得到的 BufferedImage画出的没有图像。
JAVA中JPanel图片缓存成BufferedImage,稍候将其画出,但画出为空白
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?
- ¥15 matlab(相关搜索:紧聚焦)
- ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
- ¥15 Arduino无法同时连接多个hx711模块,如何解决?
- ¥50 需求一个up主付费课程