【问题标题】:Various grid sizes and JPanel elements with GridBagLayout使用 GridBagLayout 的各种网格大小和 JPanel 元素
【发布时间】:2011-12-04 07:01:36
【问题描述】:

我正在尝试匹配以下内容

在实现 GridBagLayout 时。 GBL 是我知道我可以获得不同大小元素的唯一方法。我知道我可以做类似上图的事情,但我不知道如何用 GBL 来做。我也准备好就更好的想法提出建议。

【问题讨论】:

标签: java swing gridbaglayout


【解决方案1】:

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);
    }
}

【讨论】:

  • 请考虑使用由垃圾神概述的BoxLayout。在进行布局并使用嵌套布局(将布局放在其他布局中)时,我只是倾向于使用我的常规“技巧包”。我很懒惰。 ;)
【解决方案2】:

How to Use BoxLayout,也许还有一些filler 和一个漂亮的斜角Border

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    相关资源
    最近更新 更多