Search code examples
javaswingflowlayout

Why aren't my components wrapping in Swing's FlowLayout?


Why aren't my components wrapping in this JPanel using FlowLayout? They simply run off screen and are only partially visible.

JPanel panel = new JPanel(new FlowLayout());
panel.add(new JLabel("TEST"));
// ... repeat adding JLabels until they go off screen when they SHOULD wrap
// to the next line...

That's the entirety of my code (aside from adding and packing the frame). Am I misunderstanding FlowLayout? Do I have to set some sort of size on either: the labels or the panel?


Solution

  • That's because FlowLayout doesn't. I know, it sucks.

    But, you could take a look at WrapLayout which is a solution to this problem