在Groovy中设置系统属性

时间:2016-03-16 09:45:42

标签: groovy system-properties

请注意:虽然我在这里提到了Swing和MacOS,但这个问题与其中任何一个都没有关系:我只是将它们作为我所做的具体例子来提供。我试图做。

我试图以常规方式设置系统属性。如果您在Mac上开发Swing应用程序,通常的做法是设置以下系统属性,以便您的Swing应用程序菜单看起来与典型的Mac应用程序相同:

System.setProperty("apple.laf.useScreenMenuBar", "true")

当我在main方法中调用它时,它具有所需的效果(菜单栏从JFrame拉出并固定在屏幕顶部。)

但是当我去试着让那个叫做groovier的时候:

System.properties['apple.laf.useScreenMenuBar', 'true']

它没有用。没有例外,它只是停止工作,并没有在UI中产生预期的效果。 为什么,我该怎么做才能解决问题?

1 个答案:

答案 0 :(得分:12)

应该是:

System.properties['apple.laf.useScreenMenuBar'] = true

System.properties.'apple.laf.useScreenMenuBar' = true 

在这段代码中:

System.properties['apple.laf.useScreenMenuBar', 'true']

['apple.laf.useScreenMenuBar', 'true']被视为关键。见下文:

def m = [ [1, 2,]:3, 2:4 ]
assert m[1, 2] == 3

以下代码返回正确的结果:

System.properties['lol'] = 2

assert 2 == System.properties['lol']