无法在Java中从SWT设置NSStatusItem的标题

时间:2012-12-29 10:30:08

标签: java objective-c swt

我已经问了一个关于这个here的问题,从那个问题我想出了如何向Objective C对象发送消息。所以我做了,我没有看到任何错误,但状态栏的文本仍未设置(就像它看起来here)。我正在使用Java反射来获取NSStatusItem

Tray tray = display.getSystemTray();
TrayItem item = new TrayItem(tray, SWT.NONE);
Field field = TrayItem.class.getDeclaredField("item");
field.setAccessible(true);
NSStatusItem statusItem = (NSStatusItem)field.get(item);

SWT's source code,我可以看到item的{​​{1}}属性为TrayItem。现在,NSStatusItem应该是对象statusItem的{​​{1}}。现在,我应该可以在NSStatusItem上调用方法,就像this example

一样
item

所以要在Java中这样做,我尝试了这个:

statusItem

我正在使用相同的代码行来更改SWT中[statusItem setTitle:@"Status"]; 的标题。查看if (statusItem != null) { NSString title = NSString.stringWith("Desired Title"); OS.objc_msgSend(statusItem.id, OS.sel_setTitle_, title != null ? title.id : 0); } 方法here,了解如何将消息发送到Objective C NSWindowThis是我的目标,但文字没有设定。

0 个答案:

没有答案