#intellij-idea #javafx #virtual-keyboard
#intellij-idea #javafx #виртуальная клавиатура
Вопрос:
Я пытаюсь объединить приложение JavaFX, добавив JVMOption в виртуальную клавиатуру able в моем программном обеспечении, добавив «Параметры виртуальной машины» в форму «Конфигурации запуска / отладки», которая идеально работает в контексте тестирования, но когда я создаю пакет DMG, а затем запускаю приложение, клавиатура не отображается. Когда я проверяю содержимое пакета непосредственно из папки приложения, я обнаружил, что в файле «Content / Java / project.cfg» нет параметров JVM
[Application]
app.name=Project
app.mainjar=Project.jar
app.version=0.6.1
app.preferences.id=Project_id
app.mainclass=co/Main
app.classpath=
app.runtime=$APPDIR/PlugIns/Java.runtime
app.identifier=Project_id
[JVMOptions]
[JVMUserOptions]
[ArgOptions]
Если я добавлю опцию вручную и сохраню файл, приложение будет работать хорошо, показывая виртуальную клавиатуру.
[Application]
app.name=Project
app.mainjar=Project.jar
app.version=0.6.1
app.preferences.id=Project_id
app.mainclass=co/Main
app.classpath=
app.runtime=$APPDIR/PlugIns/Java.runtime
app.identifier=Project_id
[JVMOptions]
-Dcom.sun.javafx.isEmbedded=true
-Dcom.sun.javafx.touch=true
-Dcom.sun.javafx.virtualKeyboard=javafx
[JVMUserOptions]
[ArgOptions]
Кто-нибудь знает, как добавить эти параметры без взлома какого-либо файла? просто добавляю его в файл конфигурации внутри проекта.
Мой проект был создан с использованием Java 8, JavaFX, IntelliJ Idea CE (2019), Gradle 4.8
Ответ №1:
Добавьте следующее в свой build.xml файл:
<fx:platform basedir="${JAVA_HOME}">
<fx:property name="com.sun.javafx.isEmbedded" value="true"/>
<fx:property name="com.sun.javafx.touch" value="true"/>
<fx:property name="com.sun.javafx.virtualKeyboard" value="javafx"/>
</fx:platform>