GridBagLayout を使用して、Java で GUI を作成したいと考えています。これは私が最後に欲しいものです:
したがって、インターネットで見つけたいくつかの指示に従いました。ここに私が書いたコードがあります:
Panel panel = new Panel();
panel.setLayout(new GridBagLayout());
GridBagConstraints gc = new GridBagConstraints();
gc.fill = GridBagConstraints.BOTH;
gc.insets = new Insets(5, 5, 5, 5);
gc.weightx = 7;
gc.weighty = 7;
panel.add(new JLabel("title"), gc, 0, 0, 2, 1);
panel.add(new JButton("button 1"), gc, 2, 0, 1, 1);
panel.add(new JButton("button 2"), gc, 3, 0, 1, 1);
panel.add(new JButton("button 3"), gc, 4, 0, 1, 1);
panel.add(new JButton("button 4"), gc, 5, 0, 1, 1);
panel.add(new JButton("button 5"), gc, 6, 0, 1, 1);
panel.add(new JLabel("subtitle"), gc, 0, 1, 7, 1);
panel.add(new JButton("list"), gc, 0, 2, 2, 4);
panel.add(new JButton("button"), gc, 0, 6, 1, 1);
panel.add(new JButton("button"), gc, 1, 6, 1, 1);
panel.add(new JButton("table"), gc, 2, 2, 5, 5);
私の機能追加:
public void add(Component component, GridBagConstraints constraints, int x, int y, int width, int height) {
constraints.gridx = x;
constraints.gridy = y;
constraints.gridwidth = width;
constraints.gridheight = height;
this.add(component, constraints);
}
しかし、私は最後にこれを持っています:
ご覧のとおり、テーブルの高さは 5 セルではなく、リストは 4 セルではありません。なぜこのように動作するのか誰か知っていますか? ありがとうございました。