damon guan 2015-03-25 02:04 采纳率: 0%
浏览 2378
已结题

JAVA中JPanel图片缓存成BufferedImage,稍候将其画出,但画出为空白

如何将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画出的没有图像。

  • 写回答

1条回答 默认 最新

  • _1_1_7_ 2016-06-06 07:01
    关注

    百度一下 Java 双缓冲

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程