I've used all of the above except JFace. Started with JGoodies, and found it to be a bit tough to use. BeansBinding was easier to understand, but it's support for list operations is pretty poor. Enter Glazed Lists. GL is one of the best open source libraries I've ever used. Recently, they added a PluggableList implementation that allows GlazedLists lists to be bound to list properties from POJOs using BeansBinding. The result is the best of both worlds.
We also frequently use the Calculations API (part of Glazed Lists) to compute list-wide properties, and bind the results (using BB) to POJOs, GUI widgets, etc... Adding a label that shows the number of elements in a list (or any other calculation) is crazy simple.
I will say that BB has a lot of room for improvement, and indeed, it has been forked to BetterBeansBinding - I'd recommend that you work with BBB moving forward if you can.
We have several applications using the combination of BB and GL (one of which is a very large, complex GUI app), and have been delighted with the results.
I do suggest that you take the time to play around with bindings before you really start using it. Shifting to a declarative programming style takes some practice, but once you've done it, the results are nearly miraculous. I suggest a minimum of 3 small, but complete projects so you can get your head around it (if you can introduce Presentation Model concepts into your design, that will also have huge payback down the road).