我很难理解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);
}
}
答案 0 :(得分:0)
我相信您使用的GridBagLayout和Constraints(网格)的部分确实基于程序左上角的行(x)和列(y)。还有其他方法可以做到这一点,虽然在布局中使用gridheight和gridwidth略有不同。
请阅读此内容以获取更多语法:)
https://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html