Java 布局管理器使用的困惑

Java 布局管理器使用的困惑,java,swing,user-interface,awt,layout-manager,Java,Swing,User Interface,Awt,Layout Manager,我正在用Java创建一个简单的游戏。我已经用JFrame创建了游戏的菜单。我对将菜单按钮(开始、高分、说明、退出)放在中间的布局感到困惑。我的想法是: 创建三列和中间列的网格布局,添加位于该列中心的框布局(具有菜单按钮)。 我应该使用这种方法吗?如果没有,请告诉我解决方案。如果程序员是对的,请使用gridbaglayout。实际上,我自己也懒得在布局管理器上胡闹,所以我使用WindowBuilderforEclipseSDK。在谷歌上搜索它。WindowBuilder具有双向代码生成功能(即,它

我正在用Java创建一个简单的游戏。我已经用JFrame创建了游戏的菜单。我对将菜单按钮(开始、高分、说明、退出)放在中间的布局感到困惑。我的想法是: 创建三列和中间列的网格布局,添加位于该列中心的框布局(具有菜单按钮)。


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

如果程序员是对的,请使用gridbaglayout。实际上,我自己也懒得在布局管理器上胡闹,所以我使用WindowBuilderforEclipseSDK。在谷歌上搜索它。WindowBuilder具有双向代码生成功能(即,它可以解析swing代码,然后根据您在gui中所做的操作生成该代码),并且可以进行拖放操作。

使用


也许你应该试试看,然后在这里问你是否有具体的问题?使用
GridBagLayout
,你可能想检查一下,谢谢它确实有效,但我在理解与这些布局相关的一些术语时有些困惑。但是MADProgrammer我认为应该是gbc.insets=GridBagLaoutConstraints.HORIZONTAL,而不是gbc.insets=java.awt.gbc.HORIZONTAL,再次感谢MADProgrammer的帮助!你的纽扣外观和感觉和我的不一样。矩形按钮正在显示,但我必须做些什么才能获得上述外观。我使用默认的系统外观(在本例中为Windows),即UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())
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);