请注意:虽然我在这里提到了Swing和MacOS,但这个问题与其中任何一个都没有关系:我只是将它们作为我所做的具体例子来提供。我试图做。
我试图以常规方式设置系统属性。如果您在Mac上开发Swing应用程序,通常的做法是设置以下系统属性,以便您的Swing应用程序菜单看起来与典型的Mac应用程序相同:
System.setProperty("apple.laf.useScreenMenuBar", "true")
当我在main
方法中调用它时,它具有所需的效果(菜单栏从JFrame
拉出并固定在屏幕顶部。)
但是当我去试着让那个叫做groovier的时候:
System.properties['apple.laf.useScreenMenuBar', 'true']
它没有用。没有例外,它只是停止工作,并没有在UI中产生预期的效果。 为什么,我该怎么做才能解决问题?
答案 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']