ENIGMA Forums
Sharing is caring => Tips, Tutorials, Examples => Topic started by: Goombert on October 08, 2014, 05:50:03 pm
-
This is a bit of a guide on using custom look and feels with LateralGM. Before attempting this please download the latest LateralGM, it has not yet been added to a new Portable ZIP
http://enigma-dev.org/docs/Wiki/Install:Extra_Packages
1) The first thing you will need to do is locate your lateralgm.jar, it may be in your enigma-dev folder
2) Create a folder next to lateralgm.jar in the same directory named "lookandfeels"
3) Download and copy the jar file of the look and feel into the newly created "lookandfeels" folder
4) Open LateralGM and navigate to "File->Preferences/General", if you are on a newer LGM it may be "File->Preferences/Appearance"
5) Set the theme to "Custom"
6) Enter the main class name of the jar file in the "Theme Path:" text box, you will have to find this name on your own because most look and feels are not executable jars and therefore do not have this in their manifest
7) Hit "Apply Changes" and then restart LGM, I advise you to restart because sometimes the look and feels may not update properly, it's a Java issue.
I have compiled a list here of available look and feels I've already tried. Please feel free to post more to this topic in a reply, and please let's keep replies only to additions to this list, any other replies will be deleted. You can also create your own look and feels using Java the same way you would create a regular look and feel and use it with LateralGM.
Here are some links to get you started on making your own Look and Feel for Java applications:
http://www.ashcavai.com/JLFDG05.pdf
https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/index.html
http://www.comp.nus.edu.sg/~cs3283/ftp/Java/swingConnect/friends/sce/sce.html
You can also override the background image used on the MDI area. Inside the "lookandfeels" folder you created previously you just need to create a file called "lgmbackground.png" which will automatically be applied the next time you load. You can use the following dark variation of LGM's current background if you like.
https://github.com/IsmAvatar/LateralGM/blob/master/org/lateralgm/main/lgmbackground.png
https://github.com/IsmAvatar/LateralGM/blob/master/org/lateralgm/main/lgmbackgrounddark.png
(https://raw.githubusercontent.com/IsmAvatar/LateralGM/master/org/lateralgm/main/lgmbackgrounddark.png)
FlatLaF
Kind of a more modern flat style look and feel that really looks clean.
Download: https://www.formdev.com/flatlaf/
Class Names:
com.formdev.flatlaf.FlatLightLaf
com.formdev.flatlaf.FlatDarkLaf
com.formdev.flatlaf.FlatDarculaLaf
com.formdev.flatlaf.FlatIntelliJLaf
(https://i.imgur.com/gOaKErm.png)
TinyLaF
This one is for all you Windows XP/GM6/7 fans, who for all intents and purposes no longer have Windows XP or have Mac or Linux.
Download: http://www.muntjak.de/hans/java/tinylaf/
Class Name: de.muntjak.tinylookandfeel.TinyLookAndFeel
(http://i.imgur.com/9g8vnRK.png)
Quaqua
According to Mac's licensing, you are technically not allowed to legally use this on platforms other than Mac, but that won't stand up in court see Microsoft V. Apple
Download: http://www.randelshofer.ch/quaqua/ (once you extract look in the "dist" folder)
Class Name: ch.randelshofer.quaqua.QuaquaLookAndFeel
(http://i.imgur.com/4e51qvw.png)
Info Node
Download: http://www.infonode.net/index.html?ilfdownload (once you extract look in the "lib" folder)
Class Name: net.infonode.gui.laf.InfoNodeLookAndFeel
(http://i.imgur.com/BmDeDfM.png)
JTattoo
Download: http://www.jtattoo.net/Download.html
Class Names:
http://www.jtattoo.net/ScreenShots.html
http://www.jtattoo.net/PredefinedThemes.html
com.jtattoo.plaf.acryl.AcrylLookAndFeel
com.jtattoo.plaf.hifi.HiFiLookAndFeel
(there's more but I'm not typing them all out)
(http://i.imgur.com/af4vs6Y.png)(http://i.imgur.com/5uBWsG0.png)
Synthetica
You must download the base Synthetica and place it in there before you can use the extended ones.
Download:
http://www.javasoft.de/synthetica/download/ (you will have to register, but it's still free)
http://www.javasoft.de/synthetica/themes/
Class Names:
de.javasoft.plaf.synthetica.SyntheticaStandardLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaAluOxideLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaBlackEyeLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaBlackMoonLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaBlackStarLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaBlueIceLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaBlueMoonLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaBlueSteelLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaClassyLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaGreenDreamLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaMauveMetallicLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaOrangeMetallicLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaSilverMoonLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaSimple2DLookAndFeel
de.javasoft.plaf.synthetica.SyntheticaSkyMetallicLookAndFeel
(http://i.imgur.com/HXwF8Nz.png)(http://i.imgur.com/tGIqve2.png)
(http://i.imgur.com/SREY3ng.png)
JGoodies
The purpose of this one is having a Windows look and feel on Mac or Linux, it doesn't look much different than the one included in the Java SE, except fonts.
You also need to download both JGoodies Common as well as JGoodies Looks.
Download: http://www.jgoodies.com/downloads/libraries/
Class Names:
com.jgoodies.looks.windows.WindowsLookAndFeel
com.jgoodies.looks.plastic.PlasticLookAndFeel
com.jgoodies.looks.plastic.Plastic3DLookAndFeel
(http://i.imgur.com/BrphKLW.png)
com.jgoodies.looks.plastic.PlasticXPLookAndFeel
Pgs
Download: http://www.pagosoft.com/projects/pgslookandfeel/
Class Name: com.pagosoft.plaf.PgsLookAndFeel
(http://i.imgur.com/I91MnTP.png)
Sea Glass
Download: https://github.com/khuxtable/seaglass (seaglasslookandfeel-0.2.jar)
Class Name: com.seaglasslookandfeel.SeaGlassLookAndFeel
(http://i.imgur.com/sTQk9wM.png)
-
I recently made a fix related to this feature for Java 9 and newer JVMs. The method used to load the custom look and feels onto the class path was busted by newer modularity. It's not a big issue because we were in fact relying on undocumented internal features, something that's always a bad idea. Regardless, you can simply update LGM through the usual means (install.sh, install.py, or download the Jar from the Extra Packages page on the Wiki) to get the fixes and use custom look and feels again. And don't worry if you don't have a newer JVM yet either, the fix is backwards compatible and also no longer requires a restart to find look and feel jars.
Patch: https://github.com/IsmAvatar/LateralGM/commit/708cb2b193af0ad5dbe229a6a3f735b1a90c22f8
New Jar: https://enigma-dev.org/docs/Wiki/Install:Extra_Packages#LateralGM