New library: Sliding Layout

Sep 14, 2012 by     16 Comments    Posted under: Libraries, Sliding Layout

Another little library I made for swing users. It  lets you very easily create smooth transitions between two layouts of components in a special panel. The layouts are based on a grid, which can nest sub-grids and which provides fixed/flexible columns and rows.

But more than a thousand words, here is a demo view of what can be done in a few lines of code. There is also a youtube video of the same demo with images, I really recommend you to try it ;)

As usual, the project is open-source and distributed under the Apache-2 license. I hosted it at Github. Indeed, I’m moving from google code to github and from mercurial to git. It seems that the fork/pull-request feature of github is just too awesome to be ignored. Therefore, if you ever want to contribute a patch to any of the projects hosted there, just make a pull request :)

Project page:
Download page: 

As you may have guessed, this library uses the Universal Tween Engine under the hood. Also, the code comes with a complete javadoc, to get you started quickly. The project also features the source code of the demo shown here, so be sure to explore it if you don’t know how to start ;)

I hope it may help some developers to create cool stuff!

16 Comments + Add Comment

  • Brilliant as usual. Not a Swing dev myself but I bet it’s gonna be helpful for quite a lot of people.

    BTW, how was the thesis?

    • Thanks! The thesis is not over, but not far from the end. I still need to write one chapter. I try to get a few hours on the weekend to do other stuff like this library or libgdx contributions, just to keep in sync with the real world :p

  • [...] why I decided to create the SlidingLayout library I presented in a previous post. With that one, it was very easy to create different “screen [...]

  • Man Thanks so much you are the man!

  • This is great and not only this but also all of your projects. Really I was amazed as a student. You drive me crazy… :)

  • [...] Ribon has posted a new library he calls the ‘sliding layout‘ – see the video on his blog for an explanation I’d love to see this done in [...]

  • Thank you for distributing that superb information on your website. I came across it on the internet. I am going to check to come back whenever you publish extra aricles.

  • Thanks for this great library!
    Is there any way to stop a transition when it’t playing? I’m trying to use it with a table, and depending on what row is selected I show different panels. I’m storing in a variable what the current configuration is because the transition I’m gonna play depends on what panels are showing. When the user selects another row before the last animation completed, the current configuration becomes inconsistent and I need to reopen the frame.

  • When it comes to Apps Apple come first in line for new and powerful apps.
    Crucial characteristics of this smartphone are its Enterprise-ready
    safety and IT-grade policies which enable your cellphone to be applied for get the job done and play.
    The images look very clear and the colors are vibrant.

  • I’m really enjoying the design and layout of your site. It’s a very easy on the eyes which makes it much more pleasant for me to come here
    and visit more often. Did you hire out a developer to create your theme?

    Outstanding work!

  • Wow, very cool layout! Swing continues to surprise

  • The best gui i ever seen for java .
    wonder why u stopped developing it.
    for example u can make it transparent… wow!

  • This is really nice. I noticed the demo animates JPanels within a JLayeredPane – can this be applied to JInternalFrames within a JDesktopPane?

  • extractora url en linea

  • Hi, thanks for pointing the latest Ubuntu release. This is one of the coolest releases and i have it installed on my computer at home. the only issue is outdated ati driver.

Got anything to say? Go ahead and leave a comment!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>