imagej / imagej-launcher

The ImageJ native launcher
https://imagej.net/learn/launcher
BSD 2-Clause "Simplified" License
21 stars 23 forks source link

Issues with JBR SDK #75

Closed hinerm closed 3 years ago

hinerm commented 3 years ago

Please leave screenshots with a note on the operating system used

elevans commented 3 years ago

Operating System: Ubuntu 20.04.1 LTS 64-bit

Menu options do not render after initial start: fiji_missing_menus

They appear after clicking anywhere on the menu bar: fiji_menu_interact

This seems to be present everywhere. Here I tried to pick different LUTs: fiji_luts

ctrueden commented 3 years ago

On macOS, noticed two problems right away:

Similarly, though it doesn't affect macOS, the other platforms' native launchers are similarly misnamed.

After fixing these issues, I'm able to start Fiji via the usual right-click, Open, click Open to pass through the "Unidentified developer" warning dialog, and then Fiji works. :+1:

ctrueden commented 3 years ago

With the JBRSDK8 bundle, FLIMJ's JavaFX UI starts up successfully on macOS, but then hangs when I click the "Fit dataset" button. This may not be a JBRSDK8-specific issue; I'll investigate further when I have time.

hinerm commented 3 years ago

On macOS, noticed two problems right away:

* `Contents/MacOS/Imagej-macosx` needs to be named `Contents/MacOS/ImageJ-macosx`.

* That file needs to have the executable bit set, but does not.

Similarly, though it doesn't affect macOS, the other platforms' native launchers are similarly misnamed.

@ctrueden yeah this didn't affect windows and the updater tracked the files appropriately. I'm sure this is because I manually downloaded the imagej-launcher resources from Maven and renamed them. The fiji-builds bundles will be correct I'm sure.

After fixing these issues, I'm able to start Fiji via the usual right-click, Open, click Open to pass through the "Unidentified developer" warning dialog, and then Fiji works. 👍

This is interesting because @tpietzsch mentioned the Unidentified developer warning was gone for him

ctrueden commented 3 years ago

With JBRSDK11 on macOS, three problems so far:

  1. The executable bit of Contents/MacOS/ImageJ-macosx is not set.
  2. The search bar is not sized correctly; see screenshots below.
  3. FLIMJ does not work—see stack trace below. Does JBRSDK11 ship with OpenJFX11? If not, we may need to start shipping OpenJFX11 JARs on the FLIMJ update site (which would bump FLIMJ's minimum required Java version to 11).
FLIMJ stack trace ``` [INFO] Reading SDT header Warning: Nashorn engine is planned to be removed from a future JDK release Oct 07, 2020 3:56:39 PM javafx.fxml.FXMLLoader$ValueElement processValue WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 10.0.2-internal Warning: Nashorn engine is planned to be removed from a future JDK release Oct 07, 2020 3:56:39 PM javafx.fxml.FXMLLoader$ValueElement processValue WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 10.0.2-internal Warning: Nashorn engine is planned to be removed from a future JDK release Oct 07, 2020 3:56:39 PM javafx.fxml.FXMLLoader$ValueElement processValue WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 10.0.2-internal Oct 07, 2020 3:56:40 PM javafx.fxml.FXMLLoader$ValueElement processValue WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 10.0.2-internal Oct 07, 2020 3:56:40 PM javafx.fxml.FXMLLoader$ValueElement processValue WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 10.0.2-internal Oct 07, 2020 3:56:40 PM javafx.fxml.FXMLLoader$ValueElement processValue WARNING: Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 10.0.2-internal Exception in thread "JavaFX Application Thread" [WARNING] FLIMJ: UI init failed or aborted by user. Exiting. java.lang.NoClassDefFoundError: com/sun/javafx/scene/control/skin/BehaviorSkinBase at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at org.controlsfx.control.SegmentedButton.createDefaultSkin(SegmentedButton.java:195) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:900) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:900) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:900) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:900) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9515) at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:583) at javafx.graphics/javafx.scene.Scene.preferredSize(Scene.java:1770) at javafx.graphics/javafx.scene.Scene$2.preferredSize(Scene.java:394) at javafx.graphics/com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66) at javafx.graphics/javafx.stage.Window$12.invalidated(Window.java:1098) at javafx.base/javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110) at javafx.base/javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145) at javafx.graphics/javafx.stage.Window.setShowing(Window.java:1186) at javafx.graphics/javafx.stage.Window.show(Window.java:1201) at javafx.graphics/com.sun.javafx.stage.EmbeddedWindow.show(EmbeddedWindow.java:71) at javafx.swing/javafx.embed.swing.JFXPanel.setSceneImpl(JFXPanel.java:328) at javafx.swing/javafx.embed.swing.JFXPanel.setScene(JFXPanel.java:298) at flimlib.flimj.ui.FLIMJCommand.initFX(FLIMJCommand.java:129) at flimlib.flimj.ui.FLIMJCommand.lambda$run$0(FLIMJCommand.java:57) at flimlib.flimj.ui.FLIMJCommand.lambda$runAndWait$2(FLIMJCommand.java:96) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(PlatformImpl.java:418) at java.base/java.security.AccessController.doPrivileged(Native Method) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:417) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) Caused by: java.lang.ClassNotFoundException: com.sun.javafx.scene.control.skin.BehaviorSkinBase at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 135 more Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: com/sun/javafx/scene/control/skin/BehaviorSkinBase at org.controlsfx.control.SegmentedButton.createDefaultSkin(SegmentedButton.java:195) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:886) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:886) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:886) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSSImpl(ControlHelper.java:63) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.superProcessCSS(ControlHelper.java:55) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:886) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1404) at javafx.graphics/javafx.scene.Parent.access$400(Parent.java:81) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:127) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:100) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:147) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9515) at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:583) at javafx.graphics/javafx.scene.Scene.access$3500(Scene.java:173) at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2502) at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:410) at java.base/java.security.AccessController.doPrivileged(Native Method) at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:409) at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:436) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:524) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:504) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:497) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:320) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) ```

Search bar screenshots

Search bar window packs incorrectly:

search-bar-too-small

Even after sizing it up, the layout is incorrect (missing left-hand list pane):

search-bar-layout-wrong

The "Embed search results in main window" option can be enabled as a workaround:

search-bar-workaround
ctrueden commented 3 years ago

@tpietzsch mentioned the Unidentified developer warning was gone for him

I would be shocked if that warning ever disappears without us paying $99 to Apple and signing the app.

@tpietzsch Might you have disabled Gatekeeper (sudo spctl --master-disable) and enabled apps to run from anywhere, as described e.g. here?

tpietzsch commented 3 years ago

No, I didn't. I have these security settings: Screenshot 2020-10-08 at 15 45 08

Also there is a new splash screen, that I didn't notice before: Screenshot 2020-10-08 at 15 48 25

I thought the two might be related and there is a new launcher or something...

hinerm commented 3 years ago
3\. FLIMJ does not work—see stack trace below. Does JBRSDK11 ship with OpenJFX11? If not, we may need to start shipping OpenJFX11 JARs on the FLIMJ update site (which would bump FLIMJ's minimum required Java version to 11).

@ctrueden I think it does ship with JavaFX but com/sun/javafx/scene/control/skin/BehaviorSkinBase may have been removed after J8. You can get it through a backport library.

Can you try adding openjfx-78-backport-compat to your installation? That may be sufficient to add as a dependency to FLIMJ.

ctrueden commented 3 years ago

We determined that JBRSDK11 ships with JavaFX10, which does not play nicely with ControlsFX 8. We tried ControlsFX 9, as well as ControlsFX 11, but neither works correctly with FLIMJ. There are issues with the FLIMJ UI freezing on fit with both JBRSDK8 and JBRSDK11.

We tested AdoptOpenJDK11 with JavaFX11 libraries in jars/ and that works (on macOS). So it's looking likely we won't be able to use the JBRSDK after all—almost certainly not JBRSDK11, which ships a probably-unworkable embedded JavaFX version. But JBRSDK8 is also looking less likely due to the FLIMJ deadlock issue.

The downside of shipping AdoptOpenJDK11 with JavaFX11 libraries is that anyone who wants to keep using Java 8 won't be able to use JavaFX-based functionality anymore. Current line of thinking is to create new ImageJ-11 and Fiji-11 update sites that ship Java-11-friendly artifacts, which would include the JavaFX11 libraries. We could then finally retire the Java-8 update site, and once again provide a vanilla ImageJ2 download again! 🎉 But we need further thought, input, and testing before we're sure this approach will really work.

imagesc-bot commented 3 years ago

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/feedback-needed-bundled-java-future-directions/44030/1

hinerm commented 3 years ago

@elevans Would you mind testing one more time with our new Zulu bundle for linux? It's a different JDK 8 and we're hoping it doesn't have the same menu bar issues any more.

Thank you!

elevans commented 3 years ago

@hinerm you got it! And I'm happy to test as many times as needed! Will report back.

elevans commented 3 years ago

@hinerm Tried it out and its working fine on my system. Menu bar issues are no longer present with this bundle.

hinerm commented 3 years ago

The latest launcher has been released, and all downloads have been updated to Azul Java 8 JDK+FX

ctrueden commented 2 years ago

I tried to download the JBR SDK 8 today, and I can't find the downloads anymore. JetBrains moved things around, and only offers downloads of 11 and 17 now. We'll be moving to 11 or 17 anyway ASAP, but just wanted to note that here.