Reputation: 1883
I am learning to use swing so please bear with me. Have a look at the attached screenshot:
These are JLabels within a JLabel within a JFrame. I would like to move these inner JLabel (which are randomly generated in size and color at runtime) to the very bottom as though they were books on a shelf. I know about Layout managers, though I can't quite seem to find the proper one to do what I want. This screenshot shows the result of specifying none, thus it should default to FlowLayout.
The inner JLabels are just .add()ed without any placement done. SetLocation appears to do nothing whatsoever.
Can you help me out?
Upvotes: 2
Views: 185
Reputation: 2752
If I were you I'd add put those JLabels inside of a JPanel with a boxlayout then align that with a border layout. Here is some code to help you out:
JLabel outer = new JLabel();
outer.setLayout(new BorderLayout(0,0));
/** Add inner JLabels here. The other you add them is the order they will appear from to right**/
JPanel bookshelf = new JPanel();
bookshelf.setLayout(new BoxLayout(toolbar, BoxLayout.X_AXIS));
//Add your jlabels to the bookshelf
outer.add(bookshelf, BorderLayout.SOUTH);
Here is a great tutorial on layout managers. Also here is a UI I designed which is similar to what I think you want.
Hope this helps you out.
Upvotes: 2