初步使用管理器创建窗口

之前做过一个关于使用Java建立窗口的小练习,初步学习了有关的知识,使用的是GridBagLayout管理器。
目前学习了如何使用GridBagLayout创建一定大小的窗口,建立按钮和改变按钮大小与间隔。
public class TestDouble extends JFrame {

public TestDouble() {
	  	
    // 创建 GridBagLayout 实例
	setTitle("窗口");
	//setSize(400, 150);
    GridBagLayout layout = new GridBagLayout();
    setLayout(layout);

    // 创建 GridBagConstraints 实例
    GridBagConstraints gbc = new GridBagConstraints();
    
    int num = 5;
    
    for (int i = 1; i <= 5; i++) {
        addbutton(layout, gbc, i, this.getContentPane());
    }

    // 设置窗口属性
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    pack();
    setVisible(true);
}

public static void addbutton(GridBagLayout layout,GridBagConstraints gbc,int i,Container container) {
	JButton button = new JButton("按钮" + i);
    button.setPreferredSize(new Dimension(100, 50));
	int hang = 0;
	if(i>5) {
		hang = i / 5;
		i = i % 5;
	}   	
	gbc.gridx = i - 1;
    gbc.gridy = hang - 1;
    gbc.gridwidth = 1;
    gbc.gridheight = 1;
    gbc.fill = GridBagConstraints.NONE;
    gbc.weightx = 0;
    gbc.weighty = 0;
    gbc.insets = new Insets(10, 10, 10, 10);
    layout.setConstraints(button, gbc);
    container.add(button);
}

public static void main(String[] args) {
    SwingUtilities.invokeLater(() -> new TestDouble());
}

}
其中创建的 GridBagLayout 对象为容器的布局管理器,创建的 GridBagConstraints 对象用于设置组件在布局中的约束条件。
要 GridBagConstraints 里的各个属性,包括组件的位置(gridx 和 gridy)、大小(gridwidth 和 gridheight)、填充行为(fill)、内外边距(insets、ipadx 和 ipady)、对齐方式(anchor)以及权重(weightx 和 weighty)。

posted @   老汤姆233  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示