关于布局管理员使用的困惑

时间:2012-09-29 22:39:24

标签: java swing user-interface awt layout-manager

我正在使用Java创建一个简单的游戏。我使用JFrame创建了游戏菜单。我对用于将菜单按钮(开始,高分,指令,退出)放置在中心的布局感到困惑。我有一个方法是: 创建三列的网格布局,在中间列中添加一个框布局(具有菜单按钮),位于此列的中心。

我应该使用这种方法吗?如果没有,请告诉我解决方案。

2 个答案:

答案 0 :(得分:1)

使用GridBagLayout

enter image description here

JButton startButton = new JButton("Start");
JButton scoreButton = new JButton("High Score");
JButton instructButton = new JButton("Instructions");
JButton exitButton = new JButton("Exit");

GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = java.awt.gbc.HORIZONTAL;
gbc.insets = new java.awt.Insets(2, 2, 2, 2);
gbc.gridx = 0;
gbc.gridy = 0;
getContentPane().add(startButton, gbc);

gbc.gridy = 1;
getContentPane().add(scoreButton, gbc);

gbc.gridy = 2;
getContentPane().add(instructButton, gbc);

gbc.gridy = 3;
getContentPane().add(exitButton, gbc);

答案 1 :(得分:0)

Madprogrammer是对的,请使用gridbaglayout。我自己实在是懒得乱用布局管理器所以我使用WindowBuilder for Eclipse SDK。在谷歌上搜索它。 WindowBuilder具有双向代码生成(即,它可以解析swing代码,然后根据你在gui中的代码生成它),以及它的所有拖放。