I'd make multiple placeholder panels with no insets, and then use some code to work out when a component needs to be moved to the next panel because it's below a minimum width threshold. It's ugly, but it should work. You'd need to do all the removal and addition by hand, and within the EDT.