Comboboxes causing crashes in scenebuilder and self made apps - javafx

I've been having this continueous problem with any scenebuilder (both Javafx and Gluon). Whenever I try to open a combobox or even the toolbar for Javafx scene builder the program Java just quits working and the program crashes.
The same happens when I add a combobox to any java app and try to open it.
I need a scene builder because it makes making desktop apps that much easier and not even my profs at school seem to know what the problem is.
http://prntscr.com/f9pc9m
This screen shows what happens, whenever I open anything that drops down the program freezes and on clicking somewhere else it shows what should've opened all black. I know this is a Jfoenix menu but that is not the problem it doesn't work without jfoenix either.
Anything Java related is up to date and has been re-installed already.

Related

Incorrect Ikonli icons displayed

I am having problems using the Ikonli icon packs. I am creating FontIcon objects and then using those to set the graphics on buttons. Icons taken from the FontAwesome5 pack work great. Icons taken from the Material2 pack seem to shift somehow - for example, I try to get mdal-6_ft_apart but what actually gets displayed is mdal-loyalty. And no matter which Icon I load from MaterialDesign2, all I see is an empty box.
I'm running this through Eclipse, and everything looks fine when stepping through with the debugger. This is the value of the button graphic:
ObjectProperty [bean: mdal-6_ft_apart:15:0xffffffff, name: iconCode, value: MDAL_6_FT_APART]
and yet, on the screen, it's something completely different.
This is a Maven project using OpenJDK 16 and JavaFX 16. I've tried loading just a single icon pack instead of all 3, but no difference. Also, there are never any errors retrieving the icons. The ServiceProviders are all found, and the icons are available.
I made a small Hello World program and everything runs fine, so it's definitely an issue with my program and not the library. But I have no idea what the problem is, and I've been staring at this for almost 2 hours. Has anyone come across this before? I'd appreciate any help, because I'm out of ideas.
Answering this myself in case it saves someone else some time. I was installing the Ikonli library in order to replace the FontAwesomeFX library that is no longer available. I had gotten partway through replacing the icons when I ran the app in order to check the progress, and that's when I saw the errors.
The problem turned out to be an interference between the two libraries - FontAwesomeFX was throwing of Ikonli. The icon shift didn't actually occur until the code displayed a FontAwesomeFX icon, which made it seem a little random depending on the order I would open the dialogs when testing. I'm assuming an issue with the Service Handlers, though I'm not positive because I stopped troubleshooting once I realized the problem and just finished the replacement.
Once I stopped displaying FontAwesomeFX icons and the dependency was removed, Ikonli worked fine.

JavaFX - How to run desktop app in the background using window close/minimize button and 'reopen or completely close' from hidden icons

I created a simple clipboard(desktop app) using JavaFX. Now I want to run the clipboard in the background when user minimizes or closes the app. For example, 'XAMPP' or 'μtorrent'. Of course, user can reopen or completely close the clipboard from hidden icons(in windows) or from the top panel(in ubuntu). From THIS question, i found
Platform.setImplicitExit(false);
which runs the clipboard in the background. But i want to show it in the hidden icons(in windows) so that i can reopen or completely close it from there.
I know how to get and modify the window OnCloseRequest. I just want to know what i should do to run the clipboard in the background.
I searched in the google and StackOverflow for any related tutorial or blog post but found nothing. Any suggestion will be highly appreciated.
I didn't share my code because my clipboard app has no problem. I just want to add the above-mentioned feature.

Is there a way to disable virtual keyboard in JavaFX for ARM?

I'm using ARM build of JavaFX from Gluon on my Raspberry Pi. It has Virtual Keyboard enabled, so every time I touch an input field -- the keyboard pops up. Is there a way to disable it? I've tried using -Dcom.sun.javafx.isEmbedded=false -Dcom.sun.javafx.touch=false -Dcom.sun.javafx.virtualKeyboard=none but that has no effect.
I need to do this to replace the default VK with a custom one, that supports different layouts and locales (and looks better, tbh). Right now both of them pop up, overlapping each other.
With JavaFX 11 -Dcom.sun.javafx.virtualKeyboard="none" works for Gluon builds. For JavaFX8 I haven't found a solution at the time except rebuilding from source.

How to prevent QT from drawing to the screen? (prevent flickering when video played with gstreamer)

This is QT5. Its on an embedded Yocto system, with QT drawing to the framebuffer, no X11. The problem is this. I want to play a video using gstreamer. So, I tried to launch gstreamer with gst-launch-1.0 linked to a touch event in QT. Problem is, it flickers as QT also tries to render frames.
Next, we tried Q media player. However, this proprietary gstreamer doesn't support playbin, so, I went into QGstreamerPlayerSession and modified the constructor to use gst_parse_launch to set up my pipeline instead of playbin.
This works, in that my video plays. However, there is still the same flickering! I tried to throw up a white rectangle before launching the video, but it still flickers.
How could I prevent QT from redrawing? Do I need an empty scene before playing the video? Or is there a function call to pause redrawing?
I could of course send a SIGSTOP to QT, play the video in an external application, then resume with a SIGCONT. That works, but is obviously a very inelegant and restrictive solution (I need the app to be processing in the background still as its controlling other things as well).

Qt and multiscreen

I have an example application that came with Qt (dialogs/standarddialogs) and modified it so that it displays dialog on every screen:
for(int i=0;i<app.desktop()->screenCount();i++)
{
Dialog* dialog = new Dialog(app.desktop()->screen(i));
dialog->show();
}
return app.exec();
When testing on Xnest on application default screen (the one from which the application has been started) everything works ok. However, on the other screen the icons in message boxes are not displayed correctly.
The problem can be reproduced on both solaris and linux. However, when I try Xephyr instead of Xnest the problem disappears (on linux). On the other hand this is not a problem with Xnest itself as on Exceed the problem can also be reproduced (but the icons are not displayed at all).
Has anybody seen this kind of problem? Do you think it might be a problem with Qt or configuration of X server? Or maybe I need to compile Qt with some special options?
It seems to be a bug in Qt X11 graphics system. If I set QT_GRAPHICSSYSTEM to raster the icons are displayed properly.

Resources