0

座標 x と y に問題があります。GridBagLayoutgridx=0,gridy=0を使用していますが、すべてのコンポーネントが完全に中央に配置されています。左上 0,0 の位置合わせを設定する必要がありますが、use を使用した私のソリューションはGridBagLayout機能しません。

コードと画像を表示します。左揃えが必要です。デフォルトでは中央揃えですが、コンポーネントの左上揃えを設定する必要があります。これは、2 つの画像の下部 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/oknoww.jpg

4

1 に答える 1

1

anchorand /orを 0 より大きい値でfill指定した場合にのみ機能します。weighxweighty

問題は、余分なスペースをどのように分散させるかです。

于 2013-01-22T17:21:58.307 に答える