日期:2014-05-20  浏览次数:20763 次

分享java窗体程序拖拽缩放图片源码,求解拖住过程中的闪屏问题????
问题描述:
要求:
1、选中图片后,通过鼠标拖拽改变图片的位置;
2、拖拽图片边框可以改变大小。

实现方法不限,Swing和SWT 都行。
开发工具不限,eclipse 和 netbeans 都行。

注意:是桌面程序,不是网页。

源码会在一楼回复中给出,
先说一个问题:在拖拽图片的时候,由于需要不断地刷新屏幕,会出现闪屏的问题,有什么办法可以解决???

------解决方案--------------------
楼主,对不起,误导你了。
认真看了你代码后发现,你这个问题不是常规的双缓冲问题,而是你的paint方法调用了super.paint(g);导致每次都会清屏再回写image,从而产生屏闪。

粗暴的解决方案如下:
Java code

    public void paint(Graphics g) {
        // super.paint(g);
        Image tmp = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB);
        tmp.getGraphics().drawImage(img, imagePoint.x, imagePoint.y, null);
        g.drawImage(tmp, 0, 0, null);

    }

------解决方案--------------------
这个对Swing和Java2D来说,很容易实现。