9

正如瓷砖描述的那样,我希望能够为 MacBook Pro 2016 用户的 Java 应用程序添加一些很酷的触摸栏按钮。我还没有看到是否有办法在 Java 中实现它。

有人对此有所了解吗?

4

2 回答 2

14

有一个新的 Java 库用于与称为JTouchBar的 NSTouchBar API 交互。

例如使用 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

于 2017-10-24T06:54:23.727 回答
3

从外观上看,苹果不支持向触摸栏添加项目,更不用说在 java 中这样做了。

在浏览触摸栏的一些文档时,您似乎还需要一个NSTouchBarItem类的实例。Java 没有,也没有提供获得它的方法。我怀疑使用本机方法是否也会起作用,看看实例是如何特定于应用程序并通过苹果传递给应用程序的。

访问酒吧是可能的,但仅限于本机。

于 2016-12-18T18:08:14.493 回答