Portál AbcLinuxu, 13. července 2025 15:39
-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeelJAVA pak začne používat GTK téma u kterého si mohu ten vzhled nastavit, to je OK, ale zaroven se zmeni File dialog na ne zrovna použitelnou variantu..... viz příloha. Dále jsem našel, že pro změnu filedialogu u GTK aplikaci se da použít xdg-desktop-portal-kde a GTK_USE_PORTAL=1. Třeba u firefoxu to funguje, začne se používat standartni KDE filedialog, ale u te JAVA aplikace ne. Jde tedy v KDE Plasma nějak změnit vzhled JAVA aplikace a k tomu používat KDE filedialog? Případně alespoň zachovat ten nativní JAVA filedialog? Máte nejaké nápady? Díky.
Řešení dotazu:
Potřebuji upravit barevné schéma - hlavně zvýraznění/podbarvení výběru řádků v různých tabulkách (v interním skladovém systému)Tam asi viz co radí Franta. Swing si normálně všechny GUI prvky implementuje a vykresluje sám, nejsem si jistý, co se stane po přepnutí na GTKLookAndFeel, ale jako klasická GTK aplikace to podle mě stylovat nepůjde. Ale můžu se mýlit, jen tipuju.
Ono to skutečně funguje a přes proměnnou GTK_THEME
si můžeš měnit téma jako v kterékoli jiné GTK aplikaci:
GTK_THEME=Adwaita java -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel MojeTrida GTK_THEME=Adwaita:dark java -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel MojeTrida
Ale nikdy jsem s tím bohužel nebyl natolik spokojený, abych to používal. Nakonec jsem měl radši nejednotný vzhled, který byl ale odladěný. Možná tomu chybí jen málo, ale ten GTKLookAndFeel
prostě místy vypadá hnusně, nesedí některé rozměry, něco vytéká nebo „look“ docela ujde, ale „feel“ už ne. Chápu, že tohle je hodně těžké udělat a trefit všechno tak, aby se to blížilo nativním aplikacím…
Potřebuji upravit barevné schéma - hlavně zvýraznění/podbarvení výběru řádků v různých tabulkách (v interním skladovém systému)
Vzhled Javy/Swingu se dá asi nejlíp nastylovat přes Synth Look and Feel (Advanced Synth).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.