在Scala Swing中设置应用程序图标

时间:2016-02-10 17:22:19

标签: swing scala

我正在尝试为简单的scala swing应用程序设置应用程序图标。我设置MainFrame.iconImage但似乎没有效果。 Windows任务栏和窗口框架中的应用程序图标仍然是java徽标。

这是我正在使用的测试代码。

package uiTest

import swing._
import swing.event._
import Swing._
import javax.swing._

object HelloWorld extends SimpleSwingApplication {

  def top = new MainFrame {

    title = "Hello World"
    preferredSize = new Dimension(200, 200)

    iconImage = toolkit.getImage("/Logo.png") // does nothing.
    println(iconImage.getWidth(peer)) // -1

    contents = new BoxPanel(Orientation.Vertical) {
      contents += new Label {
        // successfully displays my logo so no resource issues.
        icon = new ImageIcon(getClass.getResource("/Logo.png"))
      }
    }
  }
}

我唯一的想法是Frame.iconImage与应用程序图标无关。在这种情况下,我在哪里设置应用程序图标?那么Frame.iconImage那么做什么呢?

This question表示在OSX上不可能。这在Windows上是一样的吗?

1 个答案:

答案 0 :(得分:1)

在您正在使用getResource的代码中,表明该文件位于资源目​​录中,但是当您尝试设置图标时,您使用的路径为“/Logo.png”直接,表明它位于根目录。