【问题标题】:Set Coordinates using GridBagLayout使用 GridBagLayout 设置坐标
【发布时间】:2013-01-23 06:15:07
【问题描述】:

我对坐标 x 和 y 有疑问。我使用GridBagLayoutgridx=0,gridy=0,但所有组件都对齐全中心。我需要设置 align top-left 0,0 但我使用 GridBagLayout 的解决方案不起作用。

现在我展示代码和图片。需要左对齐。默认有居中对齐,但需要为组件设置左上对齐,因为我需要绘制两个图片底部 JFrame。

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.*;
public class Zobrazenie extends JPanel {
private static final long serialVersionUID = 1L;
    JButton b1,b2,b3,b4,b5;
    GridBagConstraints gbc = new GridBagConstraints();
    Zobrazenie()
    {
        setLayout(new GridBagLayout());
        gbc.insets=new Insets(10,10,10,10);

        gbc.gridx=0;
        gbc.gridy=0;
        gbc.anchor=GridBagConstraints.WEST;
        b1=new JButton("Button 1");
        add(b1,gbc);

        gbc.gridx=0;
        gbc.gridy=1;
        b2=new JButton("Button 2");
        add(b2,gbc);

        gbc.gridx=0;
        gbc.gridy=2;
        b3=new JButton("Button 3");
        add(b3,gbc);

        gbc.gridx=0;
        gbc.gridy=3;
        b4=new JButton("Button 4");
        add(b4,gbc);

        gbc.gridx=0;
        gbc.gridy=4;
        b5=new JButton("Button 5");
        add(b5,gbc);
    }
public static void main(String[] args)
{
    JFrame jf = new JFrame();
    Zobrazenie zb = new Zobrazenie();
    jf.setSize(400,300);
    jf.setTitle("Okno");
    jf.setLocationRelativeTo(null);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.add(zb);
    jf.setVisible(true);
}
}

还有图片:http://img14.imageshack.us/img14/7243/oknouw.jpg

【问题讨论】:

  • 欢迎来到 StackOverflow!根据经验,当您提供迄今为止尝试过的代码时,社区总是更容易为您提供帮助。

标签: java swing gridbaglayout


【解决方案1】:

anchorfill 仅在您指定 weighx 和/或 weighty 的值大于 0 时才有效。

现在的问题是您希望如何分配额外的空间。

【讨论】:

    猜你喜欢
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    • 2011-11-13
    • 2015-08-21
    相关资源
    最近更新 更多