I would create my own LayoutManager instead of one of the defaults. Simply override the 5 methods as declared in the API. (Java Platform SE 6)