Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
在Groovy中设置系统属性_Groovy_System Properties - Fatal编程技术网

在Groovy中设置系统属性

在Groovy中设置系统属性,groovy,system-properties,Groovy,System Properties,请注意:虽然我在这里提到了Swing和MacOS,但这个问题与它们都无关:我只是提供了一个具体的例子,说明我正在尝试做什么 我正试图以groovy的方式设置系统属性。如果您正在Mac上开发Swing应用程序,通常会设置以下系统属性,以便Swing应用程序的菜单与典型Mac应用程序的菜单相同: System.setProperty("apple.laf.useScreenMenuBar", "true") 当我在main方法中调用它时,它具有所需的效果(菜单栏从JFrame上拔下并固定在屏幕顶

请注意:虽然我在这里提到了Swing和MacOS,但这个问题与它们都无关:我只是提供了一个具体的例子,说明我正在尝试做什么


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

System.setProperty("apple.laf.useScreenMenuBar", "true")
当我在
main
方法中调用它时,它具有所需的效果(菜单栏从
JFrame
上拔下并固定在屏幕顶部)

但当我试着给groovier打电话时:

System.properties['apple.laf.useScreenMenuBar', 'true']
它不起作用。没有例外,它只是停止工作,在UI中没有预期的效果为什么,我能做些什么来修复它?

应该是:

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']

或者
System.properties.'apple.laf.useScreenMenuBar'=true
@tim_-yates,可能也是。谢谢@Opal(+1)-有趣的是,这两个都不起作用。他们很可能使用了有效的Groovy语法,但出于某种原因,Swing(或MacOS)拒绝使用它们。我的意思是,菜单不显示为“钉住”/固定在屏幕顶部,独立于JFrame/主窗口。但是当我使用标准Java风格语法(使用
setProperty(…)
)时,菜单是固定的。奇怪…@smeeb,不知道为什么它不起作用,但是你使用的语法肯定是错误的。再次感谢你的帮助;标记为正确,并附带特定于用例的警告,即此特定Groovy语法似乎对Mac上用于Swing开发的特定sysprop没有影响。
System.properties['lol'] = 2

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