mood swings
wingS 3.0
wingS is a servlet development framework for Web applications. more>>
A special LayoutManager allows you to place components using designer provided HTML templates. The HTML code generation of the components themself supports PLAF (Pluggable Look and Feel), so it is possible to create a different output, like plain HTML, HTML+CSS, and WML.
Enhancements:
- [WGS-198] - Exception in SSLider
- [WGS-214] - Redirects and Error Page handling broken
- [WGS-189] - Fix cookie- less session management
- [WGS-196] - Documentation Update
Metamorphosis
Metamorphosis is a short course about Swing visual design and user interface implementation. more>>
Therefore it provides a configurable GUI which demos both, the problems and their solutions.
Running:
You can either web start or download Metamorphosis. To launch the application from a command-line, use: java -jar metamorphosis.jar.
You can launch Fakeclipse from a command-line with a given style: franken, rookie, standard, advanced, elegant, standardX, advancedX, elegantX, where the last three use a multi-platform look instead of a Windows emulation.
java -cp metamorphosis.jar -Dstyle=elegantX com.jgoodies.metamorphosis.Fakeclipse
Fakeclipse:
Metamorphosis utilizes a tiny Swing based application called Fakeclipse, that emulates the appearance of an Eclipse IDE on Windows 95/98/NT/ME/2000, and with some restrictions on XP. Although its a live application, it cant do anything useful and provides no actions. Only the File, Edit and Source menus contain items to demo an alignment problem.
Swing vs. SWT:
Fakeclipse is intended to shed some light into the "Swing vs. SWT" discussion. I dont take a position but want to contribute some visual input.
The Eclipse IDE provides an elegant overall appearance - at least on Windows platforms. And thats what most people are referring to when talking about the SWT. However, most of this look can quickly be emulated by Swing. It took me 2:50 hours to build the original Fakeclipse using the JGoodies Windows Look&Feel that I had built before for JDiskReport.
XML2Swing 1.0
XML2Swing is a Java library that reads XML files and creates a SWING user interface to display and edit the XML data. more>>
What can I use XML2Swing for?
XML2Swing is useful whenever you need to add XML display and editing capability to a desktop application. For instance, when your application stores properties in an XML file then XML2Swing is an easy way to display and edit property values.
What Software is needed for the use of XML2Swing
XML2Swing uses JDOM and Matisse. JDOM provides XML parser functions and Matisse provides better SWING layout functions. Both are distributed under open-source license agreements and come in the /lib directory of the XML2Swing distribution. XML2Swing comes with an ANT build script that requires ANT version 1.6.5 or higher. See the XML2Swing/src directory of the distribution.
SwingWT 0.89
SwingWT is an implementation of the Swing/AWT APIs over SWT. more>>
Main features:
- More responsive GUIs and faster startup times
- Less RAM usage for applications
- Many developers prefer the Swing API
- Existing Swing applications dont need to be recoded
- Mature Swing UI designers can be used
- Developers deploying to *nix/Win32 can compile natively with GCJ and the applications can be distributed without a VM. Linux distribution makers could package many existing Java/Swing applications that previously could not be distributed in workable state.
- SWT components can be directly accessed through the API, allowing mix and match (make Eclipse plugins with Swing!)
- All platform benefits such as font sub-pixel decimation for LCD monitors (unavailable in Swing)
- Use Swing on mobile devices!
- The best of both worlds! New Swing components for JClosableTabbedPane, JCoolBar, JTaskTrayItem..
- A FREE implementation of Swing you can redistribute and modify to suit your own requirements
- Insulation from changes to the SWT APIs
- Insulation from differences between SWT platforms
Enhancements:
- This release contains many fixes and compatibility improvements, including support for AudioClip and SWT 3.2.
JCalendar for Swing 0.1
JCalendar is a Swing component for selecting a date. more>>
Main features:
- Easy to configure
- Highly customizable. See properties.
- Attractive user interface
SwingGlue 0.2a
SwingGlue is an ultra thin glue layer for more transparent MVC design in Swing. more>>
It as not just another framework as you might think now. It is an very generic layer that has a minimal impact to the application where swing glue is used.
Main features:
- Object repository that minimizes transport of references
- automatic population of Adhesive class members from the repository
- abstraction of view code and event code
- no wrapping component classes, you still use the normal Swing classes
Swing Glue is proof for the legend that a framewok does not necessarly has to be a Bloat of code that helps you to simplify your development.
It also works with a simple framework that is non evasive and has a very simple code base.
Java::Swing 0.13
Java::Swing provides a Perl extension providing direct access to the Java Swing API. more>>
Though you can write a Java program which is driven by Perl, some people may prefer to keep their Perl pure. This package lets you do that in manner similar to the way Perl/Tk and Gtk2:: provide access to their underlying libraries. This lets us code in our favorite language, while using the graphical interface capabilities of Java Swing.
Once you use Java::Swing, you can refer to javax.swing classes by their class name alone as if it name were a Perl package name. All class methods, including constructors, can be called as normal through this Perl package name.
But, if you like, you may also use Java::Swing named attribute construction, as shown for the second JTextField above. Simply supply a hash reference whose keys are attributes of the class with the proper values. Your object will be constructed by calling the empty argument constructor. Then the attribute values will be supplied by calling set accessors. So columns => 10 will translate into setColumns(10).
As of version 0.12, you may add an Object attribute to the constructor hash. Then Java::Swing will call the constructor on the underlying class which expects it, and then call set accessors for any additional attributes.
SWTSwing 3.2.0005
SWTSwing is a port of the SWT graphical toolkit to Swing. more>>
Go to www.eclipse.org to find more information about SWT.
Enhancements:
- This release implements more than 90% of the SWT API (against 70% in the previous version).
- It allows Eclipse 3.2 and several SWT-based applications to run quite decently.
- Moreover, SWTSwing now degrades properly to support older JREs, for example to allow running Eclipse on OS/2 with a Java 1.4.
Yet Another Swing Library 1.2
Yet Another Swing Library is a complete framework which is specially designed for developing Swing-based applications along with a library of Swing components and utilities. more>>
Yet Another Swing Library 1.2 is a complete framework which is specially designed for developing Swing-based applications along with a library of Swing components and utilities. Swing is a much-maligned but rich library for developing Java-based gui applications. Despite what critics say, you can develop robust and responsive desktop applications with Swing. Unfortunately, Swing doesn't provide a ready-made framework for building applications although the building blocks are there. YASL attempts to provide that framework.
YASL is based on the Model-View-Controller pattern. It divides an application into gui components (View), action classes to handle user-driven events (Controller), and singleton classes (Model). The actions and singletons are stored in separate maps in key-class pairs. The initialization of actions and singletons as well as the mapping of menu items to actions can be handled through xml configuration or in the code or both. The framework provides the glue that holds the components together and facilitates their interaction.
Major Features:
- Managing actions
- Managing singletons
- Threading calls to actions
- User preferences management
- Resource bundles
- Splash pages
- xml configuration
- Logging with SLF4J
- Dynamic jar loading
Requirements: Java and the library has been compiled using JDK 1.4.
Moss 0.6.1.0
Moss is a collection of Java classes which includes additional custom Swing components. more>>
Its also a JFrame/JDialog framework to assist in creating large GUIs), file and image modification classes (EXIF/IPTC reading and editing, image roatation, file copying), miscellaneous data structures (such as a HeapSet implemenation), and much more.
Please feel free to take a look around and see what you think. There is a javadoc page where you can browse the API methods.
Moss is released under the GPL. If you need to use this in a closed source, commercial application, please contact me - I have licensed some of my open source classes to be used in closed source works before; depending on your needs, I may be able to accommodate you.
Enhancements:
- Usability enhancements to JDecimalField
Swing AutoMenu 2.1
Swing AutoMenu is a automatic menu generator. more>>
Main features:
Bar/Popup menu
- menu item
- checkbox item
- radio button item/group
- separator
- submenus
- support icons
- named disable map
- event dispatcher
Popup menu
- invoker state item - a special item that can be enable/disable according the state returned by a named function from invoker
- invoker state check - a special item used to change some named invoker state
- hintlist - a special item that can dinamicaly build a submenu with given list itens from invoker
Enhancements:
- Some new dynamic functions were added, like a hintlist that get a list from the invoker object and builds a submenu.
- Putting a bar menu in your application can now be done very easily by using the ABarMenu class.
domo 2.4
Domo is a music organizer which indexes digital audio sources, extracts all information and inserts into a database. more>>
Domo is in the first place a music organizer. Domo indexes audio sources, extracts all possible information (mpeg headers, ID3 tags, MusicBrainz,...) and inserts everything into a relational database. In this database you can then query, export and compare with other sources (playlist, music cd, ...).
Main features:
- Song based comparison of 2 input sources (see compare page)
- Convertion between different playlist formats
- mp3, ogg meta data extraction & setting
- Retrieval of meta information for unknown songs through TRM audio fingerprints
- Retrieval of Audio CD meta information through the MusicBrainz service
- Maintaining of a wishlist
- Specify your own album format (eg: %genre/%artist - %title (%year))
- Specify your own custom track format (eg: %artist - %trackno - %title)
- Query tracks and albums on artist, title, filename, album title,...
- Easy interface to the internet or other applications through a relational database (MySQL, PostgreSQL, ODBC, SQLITE...)
- Create a backup copy of the music database
- Powerfull song filename/metatag cleanup
- Generate statistics like "top 10 artists", "number of duplicate songs", etc
- Group songs in the database into collections (per user)
- Platform independent
- Assign a mood to tracks (eg: happy, sad, in love, ...)
- Give tracks, albums, ... a score out of 10
- Easy browsing of your collection per Genre or per CD
Enhancements:
- replaced id3lib with taglib
- added and integrated settings which allow choosing metainfo preference (filename or metatag) and which allow the user to specify a custom track format
- writing of metatags is now supported
- bugfixes
- added right-click context menu to score tracks, set mood, delete CDs & rename
- albums
- increased possible query fields
- possible to query albums
- consistency dialog much, much improved (supports genre, album, etc...)
- finally fixed mysql database/account creation permission issues, newly created account
- should be fairly restricted.
- added a genre-centric browse list (in addition to the CD centric one)
- updated statistics to reflect mood popularity and best scoring artists
Spin 1.5
Spin is a transparent threading solution for non-freezing Swing applications. more>>
Every non trivial GUI sooner or later encounters the problem of "freeze".
This annoying behaviour is experienced by users every time the application performs extensive calculations or blocks for network or disk I/O.
Spin offers a new approach for solving this problem.
It offers transparent thread handling with minimal impact on your application code.
Enhancements:
- Now built with Maven.
Amarok Skype mood poster 1.0.0
Amarok Skype mood poster is an Amarok script that will update skypes mood field with your current playing song. more>>
syrinx 0.9
Sysrinx is a semi-intelligent controller for mpg123 that features searching ID3 tags and random song selection. more>>
Here is how to setup:
First youll have to add you mp3s to the database, if you have all your mp3s in /mp3 you do this:
syrinx -U /mp3
This adds all files with a .mp3 extension recursively starting from /mp3. If you have more in other directories just specify the base for those when its finished adding the first ones.
Note: this may take a while if you have a lot of mp3s or a lot of other files stored above the base directory, also only mp3s with id3 tags will be added to the database as they are needed for searching. When you need to add more mp3s just use -U to add them, tracks which are already in the database will not be overwritten.
Use:
syrinx "search string" will play songs whose title, album name, or artist match the string you entered
-t "search string" will restrict the search to title
-a to album
-p to artist, and
-g to genre (note -g uses the genre names i.e. Classical, Metal, not the number)
syrinx -f will play random songs, but will play songs you listen to all the way through more, and songs you skip less. You can also specify a search string after -f so it will only play song from a certain subset.
To skip a song press ctrl-c, to exit press ctrl-c twice in quick succesion, like the operation of mpg123 on its own.
Enhancements:
- Song can only be linked once in mood play now