0
它应该不用说,但我是相当新的摆动。scala.swing:试图缩放图像到窗口大小,但尺寸返回0
我试图做一个简单的小东西,它将并排显示两个图像,只要窗口允许。
在理论上有什么发生的事情是:
我们得到一个ImageIcon,在这种情况下001.JPG。
我们计算出imageIcon的宽度/高度比。
我们将imageIcon转换为图像。
我们将该图像转换为新的尺寸正确的图像。
我们将该图像转回图像图标。
这一切都休息了,因为我发现得到窗口大小的唯一方法是size
,但一直返回0。
这是我现在所拥有的代码:
class UI extends MainFrame {
title = "Matt's window header"
preferredSize = new Dimension(1920, 1080)
var imageIcon = new ImageIcon("001.jpg")
val imgRatio = imageIcon.getIconWidth.toDouble/imageIcon.getIconHeight.toDouble
println(size)
pack()
println(imgRatio)
val image = imageIcon.getImage()
val newimg = image.getScaledInstance(size.width, (size.width * imgRatio.toInt), java.awt.Image.SCALE_SMOOTH)
imageIcon = new ImageIcon(newimg)
contents = new Label {
icon = imageIcon
}
}
顺便说一句,这将是巨大的,如果有人可以给我如何加载不同的图像信息,而不是仅仅001.JPG。
谢谢! 那么告诉窗口大小是多少的最好方法是什么?我不想假定窗户的大小是合适的。 – Jones