我用一个固定大小的JPanel来加载图像,由于图像大于窗口大小,每次只能显示一部分图像,怎样才能将图像完全显示出来或者是用滚动条来查看图像,如果图像小于窗口的话又应该怎么办??
解决方案 »
- JAVA新手-怎么获得键盘输入???
- 在ArrayList列表中有以下记录,如何安装指定的格式输出呢
- velocity的VM文件是否支持iframe???-熟悉velocity的朋友请进!
- 一个超级郁闷的问题.(关于环境变量和Eclipse)
- 编辑table某一个表格,然后点击其他按钮,如何保存table中的数据?
- 使用过jbuilder6.0的人请执教!谢谢
- 小散分一次,前十名有分!!没有原因的
- 我来重述这个问题吧!!socket通讯问题!!!
- 请问关于JBuilder4.0的参考书
- 如何不用数据库做信息管理系统?
- 问下这个类ConnectionHandler是在哪个包下面的?
- 帮我解决一下JAVA问题,有两个.java文件,相互调用时一个函数发生错误
要显示完整图像可以读取图像后获得其宽高数据然后改变frame大小
public abstract boolean drawImage(Image img,
int x,
int y,
int width,
int height,
ImageObserver observer)
绘制指定图像中已缩放到适合指定矩形内部的图像。
图像绘制在此图形上下文坐标空间的指定矩形内部,并且如果需要,则进行缩放。透明像素不影响该处已存在的像素。
此方法在任何情况下都立刻返回,甚至在整个图像没有为当前输出设备完成缩放、抖动或转换的情况下也是如此。如果当前的输出表示尚未完成,则 drawImage 返回 false。随着更多的图像可用,装入图像的进程将通过调用图像观察者的 imageUpdate 方法来通知它。
图像的缩放版本不一定立刻是可用的,因为已经为此输出设备构造了图像的非缩放版本。每种大小的图像可以被分别缓存,并由各自图像产生序列中的原始数据生成。
参数:
img - 要绘制的指定图像。如果 img 为 null,则此方法不执行任何动作。
x - x 坐标。
y - y 坐标。
width - 矩形的宽度。
height - 矩形的高度。
observer - 当转换了更多图像时要通知的对象。
先获取图像的大小
然后用楼上的方法写在paintComponent中
然后setPreferredSize