Scala.swing如何将一个scala组件转换为当前窗口大小

时间:2016-04-19 19:29:20

标签: swing scala

我正在尝试在SimpleSwingApplication中显示图像。我希望在窗口改变大小时改变图像大小(即手动拖动光标以调整大小)。

我认为这是通过倾听某事,然后与UIElementResized做出反应来完成的。

但我不确定如何实际做到这一点。

我试过了:

        listenTo(top) \\ or Window/Frame/UIEvent
        reactions += {
            // case UIElementResized=>
            case class UIElementResized(source: UIElement); => // or without the semicolon, without "source: UIElement", without "class", and a few other permutations.
               println(size) 
        }
我昨天问了一个类似的问题,但它很窄。我想就整个问题提出更广泛的问题。

1 个答案:

答案 0 :(得分:0)

我不熟悉Swing,但看起来反应使用部分函数作为回调。所以问题在于你的模式匹配语法,试试

reactions += {
    case UIElementResized(source) => println(source.size)
}

您可以在此处找到更详细的示例: Listeners and reactions in Scala Swing