我有一个使用组布局来组织一些标签的面板。调整大小时,我想将此面板保持在屏幕中心。如果我使用流式布局将面板放在另一个面板内,我可以使标签水平居中而不是垂直居中。哪个布局管理器允许我将面板保持在屏幕中间?
我还尝试了边框布局并将其放置在中心,但它会根据窗口大小调整大小。
最佳答案
尝试使用 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/