我是一名C / C ++程序员,第一次尝试使用Java。我目前正在研究一个读取大量数据并构建地图的程序。我想让用户选择使用复选框切换地图的各种功能。
在Win32 API中,我能够通过预先构建透明位图上的功能然后将BitBlt()相互叠加来实现这一目标。 Java Swing是否支持类似的东西?我想我不是唯一一个想做这件事的人。构建功能相对较慢,所以我只想生成一次图层,然后将它们块复制到我用作显示器的JPanel。
提前致谢!
答案 0 :(得分:3)
您可以使用Alpha通道动态创建BufferedImage对象,然后仅在选中复选框时在帧上绘制此对象。
答案 1 :(得分:2)
您可以使用BufferedImage
类在Swing中存储图像,然后使用它来稍后绘制最终图像。
http://docs.oracle.com/javase/6/docs/api/java/awt/image/BufferedImage.html
稍后可以使用图像的alpha值将最终图像绘制到JPanel上(可能通过覆盖JPanel的paintComponent
方法)。