我用java awt 写了一个图片加载的代码,但现在有个问题如下:
因为我要把图片显示在750*550之间,所以在加载图片的时候,我这样的
g.drawImage(img, 0, 0, 750, 550,srcRect.x, srcRect.y, srcRect.x+srcRect.width, srcRect.y+srcRect.height, null);
我有个图片是1280*960 的,把它加载进来,能正常显示在750*550之间,没任何问题
当我“正向旋转90度”后,也就是原来的宽和高调了位置,这个时候
发现旋转后的图片就有问题了,问题是宽度没有750了,而是490左右,足足少了260的宽度,导致部分图片没显示出来
但是,高度还是550,这个是没问题的。
这个时候,我手工用鼠标把窗口最小化,然后再在工具栏上点下这个窗口,它再次展现给我看的时候,图片又正常了,宽度又恢复到750了,这让我郁闷死了,找不到为什么,请求帮助,我怀疑是图片绘制的时候,paint(),repaint()。方法少调用了。
因为我要把图片显示在750*550之间,所以在加载图片的时候,我这样的
g.drawImage(img, 0, 0, 750, 550,srcRect.x, srcRect.y, srcRect.x+srcRect.width, srcRect.y+srcRect.height, null);
我有个图片是1280*960 的,把它加载进来,能正常显示在750*550之间,没任何问题
当我“正向旋转90度”后,也就是原来的宽和高调了位置,这个时候
发现旋转后的图片就有问题了,问题是宽度没有750了,而是490左右,足足少了260的宽度,导致部分图片没显示出来
但是,高度还是550,这个是没问题的。
这个时候,我手工用鼠标把窗口最小化,然后再在工具栏上点下这个窗口,它再次展现给我看的时候,图片又正常了,宽度又恢复到750了,这让我郁闷死了,找不到为什么,请求帮助,我怀疑是图片绘制的时候,paint(),repaint()。方法少调用了。
的确是一个少调用了一个刷新的方法。具体是哪个这下子想不起了。你可以搜索个例子看看。
jframe.invalidate();
jframe.repaint();