[英]Dynamically set the size of buffered image
我正在使用它来设置缓冲图像的大小。
Dimension imgDim = new Dimension(700, 380);
BufferedImage gridImage = new BufferedImage(imgDim.width, imgDim.height,
BufferedImage.TYPE_INT_RGB);
代替这个,我想使用类似下面的方法来设置图像的大小:
Dimension imgDim = d;
BufferedImage gridImage = new BufferedImage(d.width/8, d.height/8,
BufferedImage.TYPE_INT_RGB);
但是我得到了negativeArraySizeException
d
是我使用getMaximumSize()
方法获取的JFrame
的尺寸
当我打印出d.width/8
的值时,它像268435455之类的,我无法理解。 还有另一种方法可以帮助您
谢谢
d是我使用
getMaximumSize
()方法获取的JFrame的尺寸
调用pack
()方法或setSize
()方法后,将使用getSize
()方法获取d。
您应该使用getSize()
而不是getMaximumSize()
。
如果您没有为JFrame
setPreferredSize
,则getMaximumSize()
将返回一个非常大的数字。 参见Component.getMaximumSize()
getSize()
返回您的JFrame's
当前大小
请参阅组件JavaDocs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.