首页 > 其他 > 详细

网格组布局管理器

时间:2021-05-28 22:36:32      阅读:35      评论:0      收藏:0      [点我收藏+]
package wanggezubujuguanliqi;

import java.awt.Button;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class Demo {
    JFrame frame=new JFrame();//主窗体
    Container container;//主容器
    void createFrame() {
        container=frame.getContentPane();
        container.setLayout(new GridBagLayout());//获取主容器并设置布局方式
        frame.setSize(800,600);//设置窗体大小
        frame.setLocationRelativeTo(null);//设置居中方式
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭规则
    }
    
    void init() {
        GridBagConstraints g1BagConstraints=new GridBagConstraints();//创建约束条件
        g1BagConstraints.gridx=0;
        g1BagConstraints.gridy=0;
        container.add(new JButton("组件1"),g1BagConstraints);
        
        GridBagConstraints g2BagConstraints=new GridBagConstraints();//创建约束条件
        g2BagConstraints.gridx=1;
        g2BagConstraints.gridy=1;
        container.add(new JButton("组件2"),g2BagConstraints);
        
        GridBagConstraints g3BagConstraints=new GridBagConstraints();//创建约束条件
        g3BagConstraints.gridx=3;
        g3BagConstraints.gridy=3;
        container.add(new JButton("组件3"),g3BagConstraints);
    }
    
    void createButton() {
        for (int i = 0; i < 9; i++) {
            GridBagConstraints g1BagConstraints=new GridBagConstraints();//创建约束条件
            g1BagConstraints.gridx=i;
            g1BagConstraints.gridy=0;
            container.add(new JButton("组件"),g1BagConstraints);
            
            GridBagConstraints g2BagConstraints=new GridBagConstraints();//创建约束条件
            g2BagConstraints.gridx=0;
            g2BagConstraints.gridy=i;
            container.add(new JButton("组件"),g2BagConstraints);
        }
    }
    
    
    void init2() {
        GridBagConstraints g1BagConstraints=new GridBagConstraints();//创建约束条件
        g1BagConstraints.gridx=1;
        g1BagConstraints.gridy=1;
        container.add(new JButton("组件1"),g1BagConstraints);
        
        GridBagConstraints g2BagConstraints=new GridBagConstraints();//创建约束条件
        g2BagConstraints.gridx=2;
        g2BagConstraints.gridy=2;
        g2BagConstraints.gridwidth=2;
        g2BagConstraints.gridheight=1;
        container.add(new JButton("组件2"),g2BagConstraints);
        
        GridBagConstraints g3BagConstraints=new GridBagConstraints();//创建约束条件
        g3BagConstraints.gridx=4;
        g3BagConstraints.gridy=4;
        g3BagConstraints.gridwidth=2;
        g3BagConstraints.gridheight=2;
        container.add(new JButton("组件3"),g3BagConstraints);
    }
    
    void init3(){
        GridBagConstraints g1BagConstraints=new GridBagConstraints();//创建约束条件
        g1BagConstraints.gridx=1;
        g1BagConstraints.gridy=1;
        g1BagConstraints.gridwidth=2;
        g1BagConstraints.gridheight=2;
        container.add(new JButton("NONE"),g1BagConstraints);
        
        GridBagConstraints g2BagConstraints=new GridBagConstraints();//创建约束条件
        g2BagConstraints.gridx=3;
        g2BagConstraints.gridy=1;
        g2BagConstraints.gridwidth=2;
        g2BagConstraints.gridheight=1;
        g2BagConstraints.fill=GridBagConstraints.HORIZONTAL;//水平填充
        container.add(new JButton("HORIZONTAL"),g2BagConstraints);
        
        GridBagConstraints g3BagConstraints=new GridBagConstraints();//创建约束条件
        g3BagConstraints.gridx=5;
        g3BagConstraints.gridy=1;
        g3BagConstraints.gridwidth=2;
        g3BagConstraints.gridheight=2;
        g3BagConstraints.fill=GridBagConstraints.VERTICAL;//垂直填充
        container.add(new JButton("VERTICAL"),g3BagConstraints);
        
        GridBagConstraints g4BagConstraints=new GridBagConstraints();//创建约束条件
        g4BagConstraints.gridx=7;
        g4BagConstraints.gridy=1;
        g4BagConstraints.gridwidth=2;
        g4BagConstraints.gridheight=2;
        g4BagConstraints.fill=GridBagConstraints.BOTH;//全填充
        container.add(new JButton("BOTH"),g4BagConstraints);
    }
    
    void init4() {//anchor属性可以定义组件在单元格中的方位
        GridBagConstraints g1BagConstraints=new GridBagConstraints();//创建约束条件
        g1BagConstraints.gridx=1;
        g1BagConstraints.gridy=1;
        g1BagConstraints.gridwidth=2;
        g1BagConstraints.gridheight=2;
        g1BagConstraints.anchor=GridBagConstraints.NORTH;
        container.add(new JButton("@"),g1BagConstraints);
        
        g1BagConstraints.fill=GridBagConstraints.BOTH;//全填充
        g1BagConstraints.anchor=g1BagConstraints.CENTER;//居中显示
        JPanel panel=new JPanel();//创建面板
        panel.setBackground(Color.green);//面板背景绿色
        container.add(panel,g1BagConstraints);
    }
    
    void init5() {
        GridBagConstraints g1BagConstraints=new GridBagConstraints();//创建约束条件
        g1BagConstraints.gridx=1;
        g1BagConstraints.gridy=1;
        g1BagConstraints.gridwidth=2;
        g1BagConstraints.gridheight=2;
        g1BagConstraints.insets=new Insets(5, 5, 5, 5);
        container.add(new JButton("@"),g1BagConstraints);
    }
    
    void init6() {//ipadx和ipady是组建的首选大小,当他们的值是正数时放大,为负数时缩小
        GridBagConstraints g1BagConstraints=new GridBagConstraints();//创建约束条件
        g1BagConstraints.gridx=4;
        g1BagConstraints.gridy=2;
        g1BagConstraints.ipadx=10;
        g1BagConstraints.ipady=10;
        container.add(new JButton("组件1"),g1BagConstraints);
        
        GridBagConstraints g2BagConstraints=new GridBagConstraints();//创建约束条件
        g2BagConstraints.gridx=2;
        g2BagConstraints.gridy=2;
        g2BagConstraints.ipadx=-10;
        g2BagConstraints.ipady=-10;
        container.add(new JButton("组件2"),g2BagConstraints);
    }
    
    void init7() {//表示单元格的最大宽和高
        GridBagConstraints g1BagConstraints=new GridBagConstraints();//创建约束条件
        g1BagConstraints.gridx=2;
        g1BagConstraints.gridy=2;
        g1BagConstraints.weightx=10;
        g1BagConstraints.weighty=10;
        container.add(new JButton("组件1"),g1BagConstraints);
        
    }
    
    public static void main(String[] args) {//可以定义组件到四个边的距离
        Demo demo=new Demo();//创建Demo对象
        demo.createFrame();//创建窗体
        demo.createButton();
        demo.init7();
        demo.frame.setVisible(true);//窗体是否显示出来
    }
}

 

网格组布局管理器

原文:https://www.cnblogs.com/mlzhang/p/14823571.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!