使用GridBagLayout的各种网格大小和JPanel元素

时间:2011-12-04 07:01:37

标签: java swing gridbaglayout

我正在尝试匹配以下

image pane

实现GridBagLayout时

。 GBL是我知道我可以获得不同大小元素的唯一方法。我知道我可以做上面这样的事情,但我不知道如何用GBL做。我也准备就更好的想法提出建议。

2 个答案:

答案 0 :(得分:3)

请参阅How to Use BoxLayout,也许有一些filler和一个很好的斜面Border

答案 1 :(得分:3)

Player GUI

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;

class PlayerGui {

    public static void main(String[] args) {
        JPanel gui = new JPanel(new BorderLayout());
        gui.setBorder(new BevelBorder(BevelBorder.RAISED));

        JPanel north = new JPanel(new GridLayout(0,1,5,5));
        north.add(new JLabel("Player Name", SwingConstants.CENTER));

        JPanel tfConstrain = new JPanel(new FlowLayout(FlowLayout.CENTER));
        tfConstrain.add(new JTextField(18));

        north.add(tfConstrain);

        gui.add(north, BorderLayout.NORTH);

        JPanel center = new JPanel(new GridLayout(0,1,10,10));
        center.add(new JButton("On This Machine"));
        center.add(new JButton("Netowrk Based"));
        center.add(new JButton("Main Menu"));
        center.setBorder(new EmptyBorder(40,70,40,70));

        gui.add(center, BorderLayout.CENTER);

        JOptionPane.showMessageDialog(null, gui);
    }
}