【发布时间】:2016-04-19 03:01:20
【问题描述】:
这应该是不言而喻的,但我对摇摆还很陌生。
我正在尝试做一个简单的小东西,它可以并排显示两个图像,只要窗口允许的话。
理论上发生了什么:
我们得到一个 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,那就太好了。
【问题讨论】: