Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swing 在Scala上指定框架图标’;摆动架_Swing_Scala_Icons_Nimbus - Fatal编程技术网

Swing 在Scala上指定框架图标’;摆动架

Swing 在Scala上指定框架图标’;摆动架,swing,scala,icons,nimbus,Swing,Scala,Icons,Nimbus,如何在Scala的Scala.swing.frame类上设置新的框架图标?Frame.iconImage:Image和Frame.iconify()背后的意图是什么?我不知道他们在干什么 这是我最后一次尝试 import scala.swing.Frame class MyFrame extends Frame { iconImage = toolkit.getImage("src/main/resources/icon.png") visible = true } 我还尝试了其他几

如何在Scala的
Scala.swing.frame
类上设置新的框架图标?
Frame.iconImage:Image
Frame.iconify()
背后的意图是什么?我不知道他们在干什么

这是我最后一次尝试

import scala.swing.Frame

class MyFrame extends Frame {
  iconImage = toolkit.getImage("src/main/resources/icon.png")
  visible = true
}

我还尝试了其他几种方法,但都不起作用。

那里的东西应该可以用,但是如果getImage找不到文件,它会自动失败。 由于您有一个相对路径,这可能是因为您的代码没有在您想要的目录中执行

在Ubuntu上,这应该会突出区别。我得到一个带有笑脸图标的窗口和一个带有标准java图标的窗口

new Frame() {
  iconImage = toolkit.getImage("/usr/share/icons/gnome/16x16/emotes/stock_smiley-10.png")
  size = new Dimension(200, 200)
  visible = true
}
new Frame() {
  iconImage = toolkit.getImage("xxx")
  size = new Dimension(200, 200)
  visible = true
}

我猜你是在OS X上。遗憾的是,图标装饰对OS X外观不起作用,对Nimbus外观也不起作用,因为它似乎没有特定的窗口装饰(使用OS X的标题栏)

因此,您将需要一种能够绘制自己的窗口标题栏的外观:

import scala.swing._
import javax.swing._
UIManager.setLookAndFeel(new plaf.metal.MetalLookAndFeel)
JFrame.setDefaultLookAndFeelDecorated(true)

val f = new Frame {
   iconImage = toolkit.getImage(new java.net.URL(
      "http://www.scala-lang.org/sites/default/files/favicon.gif"))
   size = new Dimension(200, 200)
   visible = true
}
使用OSX窗口标题栏的唯一机会是,如果您想使用用于特定文件的默认图标进行装饰


在此处查找
Window.documentFile
“[…]它也不适用于Nimbus外观[…]”。就这样。我正在使用Nimbus,但这里没有提到。cf。-不知道他们是否在Java7中对此做了什么(我坚持使用Java6苹果),不,他们没有。我正在使用Java7。