Akorát s tou svoji "láskou" k javě by se měl jít autor léčit :-), ale jinak velmi chválím.
Já nemám s Javou problém, v mnoha oblastech to je výborná volba, ale na desktopu se to nikdy příliš neujalo. Ty aplikace nezapadají do zbytku systému, rozhraní ve Swingu vypadá jak z roku 2000, dialog pro výběr souboru se nemůže ani zdaleka rovnat tomu, co má GTK nebo Qt. Popravdě neznám nikoho, kdo by rád používal desktopové aplikace napsané v Javě, někoho, kdo by si u GTK nebo Qt aplikace řekl: kéž by byla napsaná ve Swingu nebo JavaFX.
Já nemám s Javou problém
Možná to je problém s rozhraním Swing. Já jsem měl tu smůlu, že jsem kdysi dávno něco tvořil v Delphi a zvykl jsem si na ně jako na standard. Pak jsem měl něco tvořit v Javě, tuším že také s rozhraním Swing a připadalo mi, že všechno co již bylo v Delphi vyřešené začali řešit od začátku a hodně jsem s tím bojoval. Nutnost instalace JVM a pomalejší běh aplikací tomu také nepřidal. Byl jsem zvyklý, že aplikace vytvořené v Delphi fungovaly svižně na všech desktopových systémech od Windows 95 bez nutnosti instalace čehokoliv dalšího (pokud nepotřebovaly nějaké speciální knihovny nebo nebyly špatně napsané).
Nějaký čas jsem používal Unifi Controller na PC a často byl problém to vůbec spustit, něco nefungovalo, muselo se aktualizovat JVM, pak zase nefungovalo něco jiného... jsem rád, že zavedli CloudKey Controller, kde tyhle problémy nejsou.
Delphi byly také ve své době absolutní špička. Swing podle mne nebyl špatně navržený, převzal důležité věci s Delphi, inspiroval se v dalších nástrojích. Podle mne Swing tak trochu předběhl svou dobu dvěma různými způsoby. Ten zajímavější byl, že byl založen na MVC, počítal s multiplatformností a s různými výstupními zařízeními (žádná pevné DPI a pevná velikost fontu). Tím byl ale zároveň komplikovanější. Druhý problém byl, že chyběla dobrá infrastruktura okolo. JVM ještě nebyla tak dobré a počítače byly méně výkonné, takže Java aplikace z počátku dostaly nálepku, že jsou pomalé, a pak už se toho nedokázaly zbavit. Chyběl GUI návrhář, aby návrh GUI aplikací byl tak snadný, jako v Delphi. Když pak doba dospěla do okamžiku, kdy by ocenila přednosti Swingu oproti Delphi, a zároveň už infrastruktura Javy kolem byla dostatečně vyspělá, měla Java za prvé na desktopu špatnou pověst, za druhé si Sun s Javou na desktopu vůbec nevěděl rady. Takže zvítězil web, který je za Delphi asi tak dvacet let pozadu.
Rieši to xdg-desktop-portal: je to sada dbus služieb, ktoré implementuje desktop a aplikácia ich volá.
Z toho samozrejme vyplýva, že to nie je transparentné nahradenie týchto dialógov, aplikácia to musí explicitne podporovať. Ak má pevne zadrátované gtk alebo qt dialógy, tak bude používať gtk alebo qt dialógy.