微网站建设cwordpress仿站价格
微网站建设c,wordpress仿站价格,遵义 网站建设,商业网站建设开发问题的提出#xff1a;我们在经过1.0版本的操作后不难发现#xff1a;在我们移动界面的边界或者最小化界面的同时#xff0c;已经出现的图像会消失问题的原因#xff1a;在我们改变界面时#xff0c;JPanel JButton JFrame类会自动调用内置paint方法#xff0c;但是我们的…问题的提出我们在经过1.0版本的操作后不难发现在我们移动界面的边界或者最小化界面的同时已经出现的图像会消失问题的原因在我们改变界面时JPanel JButton JFrame类会自动调用内置paint方法但是我们的paint方法只会重新写一遍上述的原始组件而不会重写我们的图像问题的解决由上述分析我们的解决办法就很简单了1.重写paint方法在实现原有的功能基础上加上对于图像的绘制。回忆方法的重写办法我们需要另外在创建一个子类继承父类在这里我们只需要创建MPanel类来继承JPanel类就好了根据之前绘制图像的办法我们需要调用g.drawImage()方法而其中的参数bufferedImage很重要需要从我们的pixelListner类里面传过来我们在MPanel类里面创建监听器对象从而直接实现对bufferedImage的调用即可利用set方法实现对私有对象的初始化public class MPanel extends JPanel {//额外绘制图像需要传入bufferedImage //我们选择创建监听器对象从而实现对bufferedImage的调用此时我们获得的是实时的bufferedImage即随着功能改变的bufferedImage private pixelListner listner; public void setListner(pixelListner listner) { this.listner listner; } public void paint(Graphics g) { //保证原有的paint方法不被改变 super.paint(g); //还需要绘制图像 g.drawImage(listner.bufferedImage,0,0,null); } }2.我们需要改变界面类中centerJP的类型MPanel centerJp new MPanel();//改变centerJP为MPanel类型从而实现对方法的重写在改变时调用的就是重写以后的方法3.初始化listner对象//此处调用监听器对象中的缓冲区图像利用 centerJp.setListner(pl);这样我们就成功解决了图像的消失问题