Nothing appears in the tab 'Viewer' in the section 'About' of DAB

The tab ‘Viewer’ in the section ‘About’ of DAB is not working for me. This tab is supposed to show me a preview of the ‘About’ page of my app, but nothing appears here.

The tab ‘Viewer’ says, “This page gives you an idea of how the About screen will be displayed in the app, after interpreting any formatting codes and variables. Some font features cannot be displayed well in this viewer, such as synthesized bold, italics and Graphite features, so please test the app on a mobile device to ensure that everything appears correctly.”

I have tried clicking the button ‘Refresh’ multiple times, but nothing happens.

Why is this issue happening? Can you fix it?

The Viewer tab uses a Java library called JavaFX. In order to see it, your Java runtime (i.e. the version of Java that your system is using to run the DAB desktop) needs to support JavaFX. This used to be the case for all Java runtime versions but more recently Java is being distributed without it (version 11 upwards).

We are experimenting with a new library that does not rely on JavaFX, but in the meantime you could try and use a replacement Java runtime which supports JavaFX, for example:

https://www.azul.com/downloads/zulu-community/?&package=jre-fx

I see. I am using DAB 6.0 and Amazon Corretto 8.222.10.3 to build my app √Root Korean: A Hanja Dictionary.

As far as I know, JavaFX is not included in Amazon Corretto 8 or 11.

@richard Do you plan to include support for Amazon Corretto 8 or 11 in the tab ‘Viewer’ with a future version of DAB?

According to https://stackoverflow.com/questions/53876524/is-javafx-media-supported-by-corretto, user ‘davecurrie’ said on January 26, 2019, “As of today, Corretto doesn’t include JavaFX media. It has been requested in https://github.com/corretto/corretto-8/issues/26 and the team is working on the best way to include it in the future.”

According to https://github.com/corretto/corretto-11/issues/1, user ‘davecurrie’ said on February 14, 2019, “Hi @yamadamn Corretto 11 doesn’t include JavaFX by design. We recommend that you either build your own or use a ready-made distribution such as the ones you link if it fits your needs.”

There are two different uses of Java in DAB:

(1) Displaying the DAB program on your desktop.
(2) Building the Android app.

For (1), the Java version used is the one that is the runtime Java environment on your machine. If you open a command prompt and ‘java -version’, you will find what it is. This version of Java can be JDK or JRE and it can be version 8, 9, 10 or 11. If it includes JavaFX then your viewer will display properly. If it doesn’t (and Corretto doesn’t include it) then you will not get the viewer.

For (2), this is the JDK you specify in the Settings dialog, and it can be Amazon Corretto 8. No need for it to include JavaFX, but it should be JDK version 8.

We are investigating an alternative solution for those who are using Corretto for both (1) and (2). In the meantime, the workaround is for you to use a Java runtime like I linked to above.

@richard When will the next version of DAB be released? Which changes and features are planned for it? Hopefully, you will be able to fix this issue in the next version. Thank you for the interim solution! I appreciate it.

Also, I would still like to see a variable %version-date% in the ‘About’ section of DAB which displays the date that the current version of an app was built using DAB. I created the topic Can you add a variable %version-date% to the 'About' section? about this issue and it has 2 votes total as of today.

I downloaded and unzipped the Azul Java FX. I then changed JAVA_HOME to point to the new location. My location is unusual.

JAVA_HOME=C:\programs\javafx

I also changed my path variable so that it replaced the Corretto.

path=C:\programs\javafx\bin;...

Then I checked where Java was by opening a Command prompt and type:

where java

The result now is:

C:\programs\javafx\bin\java.exe

When DAB opened and I looked at the About > Viewer the about info is displayed as before.

2 Likes

@Ian_McQuay Thank you for providing your interim solution. Which JDK do most people use with DAB? I prefer Amazon Corretto.

We recommend Amazon Corretto for the JDK used to build the apps.

1 Like