Java 9 ограничит доступ к частному API. Это означает, что известные методы получения окна hwnd с использованием Reflection больше не будут работать.Как можно получить HWND окна JavaFX в Java 9?
Есть ли еще способ получить их? Я спрашиваю, потому что у меня есть библиотека, которая предлагает API для управления панелью задач (аналогично тому, как это предлагает Java9). API Java 9 по-прежнему предназначен для AWT, поэтому я надеюсь, что смогу получить настройки моего проекта для Java 9 и JavaFX.
Я использовал только частные методы, но это перестанет работать. Любое решение оценивается. Родные звонки в порядке, если их можно сделать с помощью JNA или BridJ.
Вы можете просто посмотреть на исходный код методов, которые вы уже используете, а затем скопировать их в другой пакет, доставка результирующую Java и Native код с приложением? – jewelsea
Я не совсем понимаю, почему изменение пакета поможет мне там. Java 9 не позволяет использовать и выделяет ReflectionExceptions повсюду, если вы пытаетесь получить доступ к API, которые не экспортируются через файл информации модуля. – SirWindfield
Если вы скопируете код и поместите в свой собственный пакет и напишите свой собственный информационный файл модуля для него, который экспортирует нужные вам функции из вашего собственного пакета, то вы не должны получать RelectionExceptions, на которые вы ссылаетесь. Тем не менее, я понимаю, что это может привести к некоторым тонким осложнениям, которые делают такой подход нецелесообразным или выполнимым, поэтому я просто предложил в качестве подхода, который вы, возможно, пожелаете рассмотреть. – jewelsea