Создавать Java-приложения с поддержкой сенсорной панели MacBook Pro?

Как описывает плитка, я хотел бы иметь возможность добавить несколько интересных кнопок сенсорной панели в свое java-приложение для пользователей MacBook Pro 2016 года. Я пока не видел, есть ли способ реализовать это в java.

Кто-нибудь получил некоторые знания по этому поводу?

2 ответа

Решение

Существует новая библиотека Java для взаимодействия с NSTouchBar API, которая называется 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

Судя по всему, Apple не предоставляет поддержку для добавления элементов на сенсорную панель, не говоря уже о том, чтобы делать это в Java.

При просмотре некоторой документации по сенсорной панели может показаться, что вам также понадобится экземпляр класса NSTouchBarItem. У Java нет этого и нет способа получить это. Я сомневаюсь, что использование нативных методов также будет работать, видя, как экземпляр зависит от приложения и передается приложению через apple.

Доступ к бару возможен, но только изначально.

Другие вопросы по тегам