UWB-Biocomputing / WorkBench

Software and data provenance management platform for simulations of dissociated cortical cultures.
https://uwb-biocomputing.github.io/WorkBench/
Apache License 2.0
1 stars 3 forks source link

Update UI classes that still contain Java Swing code to use Java FX #3

Open etcadinfinitum opened 5 years ago

etcadinfinitum commented 5 years ago

To do:

System information:

:) lizzy@thotpad: ~/bin $ java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
:) lizzy@thotpad: ~/bin $ mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T11:33:14-07:00)
Maven home: /opt/maven
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-11.fc29.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.19.7-300.fc29.x86_64", arch: "amd64", family: "unix"
:) lizzy@thotpad: ~/bin $ ls /usr/lib/jvm
java                                             jre                                     jre-1.8.0
java-10-openjdk-10.0.2.13-7.fc29.x86_64          jre-10                                  jre-1.8.0-openjdk
java-11-openjdk-11.0.1.13-4.fc29.x86_64          jre-10-openjdk                          jre-1.8.0-openjdk-1.8.0.191.b12-11.fc29.x86_64
java-1.8.0                                       jre-10-openjdk-10.0.2.13-7.fc29.x86_64  jre-openjdk
java-1.8.0-openjdk                               jre-11                                  openjfx
java-1.8.0-openjdk-1.8.0.191.b12-11.fc29.x86_64  jre-11-openjdk
java-openjdk                                     jre-11-openjdk-11.0.1.13-4.fc29.x86_64
:) lizzy@thotpad: ~/bin $ 

Possibly useful resources & documentation:

jConquest commented 4 years ago

Fixed problem for Windows by updating pom.xml build file (had multiple mvn version statements)

jConquest commented 4 years ago

@karthikvetrivel can you try and build the project using your Macbook Pro now that I have updated the pom. Let me know if it works, otherwise upload a screen shot of the build error.

jConquest commented 4 years ago

currently the jdk and jre should be java 8 releases. Java 11 will not work.

java with javac 1.8.0-144 is known to work

Maven version 3.6 is default and should use the jre and jdk corresponding to the version listed above

jConquest commented 4 years ago

added to documentation about java version

jConquest commented 4 years ago

Clarify the importance of mvn with java 8, provide linux line for switching java versions

jConquest commented 4 years ago

also MacOS and windows (lets put this in its own file if formatting can be better)

jConquest commented 4 years ago

@karthikvetrivel if you have time, please check out the requirements for MacOS

jConquest commented 4 years ago

It seems to run fine on Windows 10, Mac OS, and Ubuntu as long as the have java 8 installed and are using

Java version: 1.8.0_111 or similar

jConquest commented 4 years ago

I can confirm that using 1.8.0_261 causes issues with the builder components. It seems that some of the older code (the remaining java Swing code associated with the Dialog Inputs) are running into versioning issues. It is likely that updating the Dialog classes in /Workbench/ui/ that still contain Java Swing to use Java FX would fix this versioning problem

jConquest commented 4 years ago

I have updated the name of this issue to reflect the source of the problem. Basically, the user needs to make sure to use an early version of Java 8, which is a pain, or multiple classes need to be updated to use Java FX instead of Java Swing. Note that this is a rather large task, as there are some 8 classes requiring this update. ScriptSpecificationDialog was written by myself, and is in JavaFX. The list below corresponds to all the known remaining classes containing Swing.

jConquest commented 4 years ago

After additional testing, it was determined that the java Swing code is likely not the root cause of java version issues. This was determined when I tried to compile and run using java 8 subversion 200 something. When doing so the maven compiler could not find a single one of the imported classes associated with javaFX. This issue is likely related to the pom.xml file used to compile and run Workbench. There is likely a versioning issue still present in this file.