8 ms·
Clojure Desktop Applications with Swing
- parfe 15y agoI spent a couple years on a Java Swing project and hated every minute. Karsten Lentzsch provided the only saving grace with the JGoodies libraries and seesaw supports the JGoodies Forms. I just started writing some Clojure in my free time and I hadn't looked into GUI toolkits yet, but this definitely provides a great jump start. Bringing enlive's selector style to Swing widgets will make life livable again.
- VMG 15y agoOne should add MigLayout to the list of painkillers http://www.miglayout.com/ http://www.miglayout.com/
- salzo 15y agoI think if you have to work with Swing, you definitely have to go with the Netbeans Swing GUI Builder. I have worked in some Swing projects and it has been a joy to use. It comes out of the box with the IDE.
- daveray 15y agoAmong other things, Seesaw 1.3 will hopefully have friendlier support for pulling in UIs laid out with UI builders (NetBeans, the Google one in Eclipse, etc).
- jurre 15y agoI cringe every time I have to make a Swing GUI for Java projects at my uni. It might just be me, but I can never get them to look half decent.
- Kototama 15y agoThe Nimbus theme does not look so bad, otherwise you can still set the native theme. http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/nimbus.html http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/n... I wrote an article last year on how to design the dialogs with Netbeans and write the code with Clojure: http://inclojurewetrust.blogspot.com/2010/11/how-to-build-gui-with-netbeans-and.html http://inclojurewetrust.blogspot.com/2010/11/how-to-build-gu...
- veeti 15y agoThe "native theme" still looks poor and out of place.
- jon914 15y agoWith some custom code and the help of libraries like MacWidgets, you can make some decent native-looking GUI's with Swing. See my profile for an example of one - it's a large-scale desktop application. I concede though that if you go with out of the box LNF's, even Nimbus, your results will not be up to par.
- raju 15y agoThere was another article on HN recently featuring Clarity (not seesaw) http://skillsmatter.com/podcast/scala/lightening-talk-clarity-a-wrapper-for-swing http://skillsmatter.com/podcast/scala/lightening-talk-clarit... Edit- Found the HN discussion - http://news.ycombinator.com/item?id=3303352 http://news.ycombinator.com/item?id=3303352
- ww520 15y agoWhy not wrap Clojure on top of SWT? The native look and feel would look better. And if the interactive and incremental nature of Clojure can be weaved in, it would be fantastic for UI development.
- scottjad 15y agoGUIFTW wraps SWT and Swing for Clojure. https://github.com/santamon/GUIFTW https://github.com/santamon/GUIFTW
- daveray 15y agoIf you want to get a feel for the Seesaw API, I recently wrote an interactive tutorial: https://gist.github.com/1441520 https://gist.github.com/1441520
- bwanab 15y agoI walked through it last weekend. Very good tutorial. Seesaw will definitely take much of the pain out of swing development.
- mgkimsal 15y agoA bit off topic, but I've had some fun playing with Griffon - http://griffon.codehaus.org/ http://griffon.codehaus.org/ - Swing apps with Groovy.
- jamesbritt 15y agoIf you're using JRuby you need to check out Monkeybars: http://monkeybars.org http://monkeybars.org. I'm the project owner and I need to see what ideas Seesaw might have to steal.
- daveray 15y agoI hope you find something useful. When I started Seesaw, I spent some time studying Monkeybars for ideas to steal. :)
- jamesbritt 15y agoOh good! Closure's been on my To Learn periphery, and I wondered if Monkeybars could be adapted for it, or if the general ideas (e.g. decoupling concerns; using dynamic look-up to drive compiled GUI classes so a WYSIWYG editor can be used) could be employed.
- daveray 15y agoClojure's wonderful. Give it a try if you get a chance. :)
- jamesbritt 15y agoI've been hinting to the wife that for Christmas I want an extra 4 hours every day to get stuff done. :)
- daveray 15y agoHa! Good luck with that. If I tried that, I'd probably get a divorce for Christmas :)