我想让我的框架设置看起来不难看,所以我决定深入研究布局。
GridBagLayout似乎是最通用的,所以我正在对它进行一些试验,以便理解它。我的问题是,尽管我在 3 列中有 3 个组件,但出于某种原因,前两个组件放在同一列中。也许我不明白,但我想了 20 多次,对我来说真的没有意义。请帮忙。
这是一些代码:
// Frame Setup
JFrame frame = new JFrame("GridBagLayout_Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setBackground(Color.CYAN);
frame.setLocation(550, 250);
frame.setSize(800, 550);
JPanel startScreen = new JPanel(new GridBagLayout());
startScreen.setBackground(Color.BLACK);
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 1;
gbc.weighty = 1;
gbc.fill = GridBagConstraints.BOTH;
JButton colorbutton = new JButton("Color");
gbc.gridheight = 1;
gbc.gridwidth = 1;
gbc.gridx = 2;
gbc.gridy = 0;
colorbutton.setPreferredSize(new Dimension(100, 30));
startScreen.add(colorbutton, gbc);
JLabel game_name = new JLabel("LABEL");
gbc.gridheight = 1;
gbc.gridwidth = 3;
gbc.gridx = 0;
gbc.gridy = 1;
game_name.setBackground(Color.ORANGE);
game_name.setOpaque(true);
game_name.setPreferredSize(new Dimension(100, 30));
startScreen.add(game_name, gbc);
JButton start = new JButton("START");
gbc.gridheight = 1;
gbc.gridwidth = 1;
gbc.gridx = 1;
gbc.gridy = 2;
start.setPreferredSize(new Dimension(100, 30));
startScreen.add(start, gbc);
// Show Results
frame.add(startScreen);
frame.setVisible(true);
qq_遁去的一_1
函数式编程
相关分类