BorderLayout 对齐
BorderLayout align
我有一个 JPanel 和一个 BorderLayout。在这个 JPanel 的 Center 我有另一个 JPanel 和 GridBagLayout.我想在第二个 JPanel 中从左上角垂直添加一些 JLabels。我需要 BorderLayout 因为我需要在 North 区域添加我的标题。
我怎样才能做到这一点?
你真的不需要 GridBagLayout
,你可以使用更简单的 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);
}
}
我有一个 JPanel 和一个 BorderLayout。在这个 JPanel 的 Center 我有另一个 JPanel 和 GridBagLayout.我想在第二个 JPanel 中从左上角垂直添加一些 JLabels。我需要 BorderLayout 因为我需要在 North 区域添加我的标题。
我怎样才能做到这一点?
你真的不需要 GridBagLayout
,你可以使用更简单的 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);
}
}