Take a couple of hot buzzwords, such as groovy, builder, swing, and graphics. Creating some random combinations of those surprisingly results in some very interesting frameworks.You might have heard of the Groovy language. Whether it's because you can write a webservice client with Swing user interface in just 20 lines, because you can create pleasing DSL's, or just because it's plain cool, more and more people are leaning towards dynamic languages.
On the topic of Groovy, I've recently come across several very interesting concepts. Groovy's builder pattern (which probably applies to other dynamic languages as well, of which I'm completely oblivious) just applies to so many different domains. Creating XML, creating user interfaces, and creating graphics really becomes a breeze. I'm currently in the middle of applying all of this in the context of a earlier post of me: creating a graphical DSL framework. More on that in due time.