Java布局管理器垂直居中

标签 java swing layout

我有一个使用组布局来组织一些标签的面板。调整大小时,我想将此面板保持在屏幕中心。如果我使用流式布局将面板放在另一个面板内,我可以使标签水平居中而不是垂直居中。哪个布局管理器允许我将面板保持在屏幕中间?

我还尝试了边框布局并将其放置在中心,但它会根据窗口大小调整大小。

最佳答案

尝试使用 GridBagLayout并添加带有空 GridBagConstrants 的面板对象。
例如:

public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.setLayout(new GridBagLayout());
    JPanel panel = new JPanel();
    panel.add(new JLabel("This is a label"));
    panel.setBorder(new LineBorder(Color.BLACK)); // make it easy to see
    frame.add(panel, new GridBagConstraints());
    frame.setSize(400, 400);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
}

关于Java布局管理器垂直居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/897924/

相关文章:

java - 如何在主 Activity 的for循环内的线程内生成TextView

java - 检测何时在 JTree 中单击展开/折叠(加号/减号)图标

java - 使用 REGEX 进行字符串验证

java - JTable 的非实时/非实时排序

android - Recyclerview加载数据后item-height变化

css - 是否可以将定位元素从具有转换的父元素中分离出来?

java - Wicket - 用文本字段替换标签,反之亦然

java - 图像亮度 slider Java

java - 选项面板验证

html 布局 : how to float divs vertically