I have a JPanel with a BorderLayout. In the Center of this JPanel I have another JPanel with GridBagLayout. I want to add vertically in the second JPanel some JLabels from top left corner. I need BorderLayout because I need to add my title in the North area.
How can I achieve this?
You don't really need the GridBagLayout
, you can use easier BoxLayout
:
public class Popup {
public static void main(String[] args) {
JFrame window = new JFrame("Title");
window.add(new JLabel("North", JLabel.CENTER), BorderLayout.NORTH);
window.add(new JLabel("South", JLabel.CENTER), BorderLayout.SOUTH);
window.add(new JLabel("West"), BorderLayout.WEST);
window.add(new JLabel("East"), BorderLayout.EAST);
JPanel centerPanel = new JPanel();
centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.Y_AXIS));
centerPanel.add(new JLabel("Here"));
centerPanel.add(new JLabel("Here"));
centerPanel.add(new JLabel("Here"));
centerPanel.add(new JLabel("Here"));
window.add(centerPanel, BorderLayout.CENTER);
window.setSize(600, 400);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
}
}