Java:GridBagLayout和GridBagConstraints

时间:2015-10-26 09:39:43

标签: java oracle

我很难理解GridBagConstraints是如何工作的。一切都处于'列和行'类型的状态,或者是否可以使用精确的像素规范(x:10 y:20 - >在角落里)。基本上我只是想知道这是如何工作的,如果我谈到的任何事情是正确的。谢谢。

一些代码:/ :(代码不正确)

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.*;

public class Main{
    public static void main(String[] args){

        //Declaring JFrame, JPanel, JButton
        JFrame frame = new JFrame();
        JPanel panel = new JPanel();
        GridBagConstraints gbc = new GridBagConstraints();
        JButton button = new JButton("Click me");

        //JFrame, frame
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(600, 600);
        frame.setResizable(true);
        frame.setLocationRelativeTo(null);

        //JPanel, panel
        panel.setLayout(new GridBagLayout());
        frame.add(panel);

        //JButton, button
        gbc.gridx = 1;
        gbc.gridy = 0;
        gbc.insets = new Insets(1, 1, 1, 1);
        panel.add(button, gbc);
        frame.setVisible(true);
    }
}

1 个答案:

答案 0 :(得分:0)

我相信您使用的GridBagLayout和Constraints(网格)的部分确实基于程序左上角的行(x)和列(y)。还有其他方法可以做到这一点,虽然在布局中使用gridheight和gridwidth略有不同。

请阅读此内容以获取更多语法:)

https://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html