sme*_*eeb 5 groovy system-properties
请注意:虽然我在这里提到了Swing和MacOS,但这个问题与它们中的任何一个都没有关系:我只是将它们作为我正在尝试做的具体例子.
我正在尝试以常规的方式设置系统属性.如果您在Mac上开发Swing应用程序,通常的做法是设置以下系统属性,以便您的Swing应用程序菜单看起来与典型的Mac应用程序相同:
System.setProperty("apple.laf.useScreenMenuBar", "true")
Run Code Online (Sandbox Code Playgroud)
当我在我的main方法中调用它时,它具有所需的效果(菜单栏被拉出JFrame并被固定在屏幕顶部).
但是当我去试着让那个叫做groovier的时候:
System.properties['apple.laf.useScreenMenuBar', 'true']
Run Code Online (Sandbox Code Playgroud)
它不起作用.没有例外,它只是停止工作并且在UI中没有所需的效果.为什么,我该怎么做才能解决它?
Opa*_*pal 14
应该:
System.properties['apple.laf.useScreenMenuBar'] = true
Run Code Online (Sandbox Code Playgroud)
要么
System.properties.'apple.laf.useScreenMenuBar' = true
Run Code Online (Sandbox Code Playgroud)
在这段代码中:
System.properties['apple.laf.useScreenMenuBar', 'true']
Run Code Online (Sandbox Code Playgroud)
['apple.laf.useScreenMenuBar', 'true']被视为关键.见下文:
def m = [ [1, 2,]:3, 2:4 ]
assert m[1, 2] == 3
Run Code Online (Sandbox Code Playgroud)
以下代码返回正确的结果:
System.properties['lol'] = 2
assert 2 == System.properties['lol']
Run Code Online (Sandbox Code Playgroud)