【发布时间】:2017-10-24 19:26:18
【问题描述】:
正如瓷砖所描述的,我希望能够为 MacBook Pro 2016 用户的 Java 应用程序添加一些很酷的触摸栏按钮。我还没有看到是否有办法在 Java 中实现它。
有人对此有所了解吗?
【问题讨论】:
标签: java macos nstouchbar macbookpro-touch-bar
正如瓷砖所描述的,我希望能够为 MacBook Pro 2016 用户的 Java 应用程序添加一些很酷的触摸栏按钮。我还没有看到是否有办法在 Java 中实现它。
有人对此有所了解吗?
【问题讨论】:
标签: java macos nstouchbar macbookpro-touch-bar
有一个用于与 NSTouchBar API 交互的新 Java 库,名为 JTouchBar。
例如使用 SWT
Shell shell = ...
JTouchBar jTouchBar = new JTouchBar();
jTouchBar.setCustomizationIdentifier("MySWTJavaTouchBar");
// flexible space
jTouchBar.addItem(new TouchBarItem(TouchBarItem.NSTouchBarItemIdentifierFlexibleSpace));
// button
TouchBarButton touchBarButtonImg = new TouchBarButton();
touchBarButtonImg.setTitle("Button 1");
touchBarButtonImg.setAction(new TouchBarViewAction() {
@Override
public void onCall( TouchBarView view ) {
System.out.println("Clicked Button_1.");
}
});
Image image = new Image();
img.setName(ImageName.NSImageNameTouchBarColorPickerFill);
touchBarButtonImg.setImage(image);
jTouchBar.addItem(new TouchBarItem("Button_1", touchBarButtonImg, true));
// label
TouchBarTextField touchBarTextField = new TouchBarTextField();
touchBarTextField.setStringValue("TextField 1");
jTouchBar.addItem(new TouchBarItem("TextField_1", touchBarTextField, true));
// enable touchbar
jTouchBar.enableForShell(shell);
您可以在 Github 上找到该库: https://github.com/Thizzer/JTouchBar
【讨论】:
JTouchBar 是否与最新版本的JavaFX 兼容?见stackoverflow.com/questions/72297649/…。 @Thizzer
从表面上看,苹果不支持向触摸栏添加项目,更不用说在 java 中这样做了。
在浏览触摸栏的一些文档时,您似乎还需要一个 NSTouchBarItem 类的实例。 Java 没有,也没有提供获得它的方法。我怀疑使用本机方法是否也会起作用,看看实例是如何特定于应用程序并通过苹果传递给应用程序的。
访问栏是可能的,但只能在本地访问。
【讨论】: