zoukankan      html  css  js  c++  java
  • 容器布局

    1、绝对布局

    public class Demo extends JFrame {
        public Demo(){
            setBounds(100,100,300,300);
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            setVisible(true);
            Container c=getContentPane();
            c.setLayout(null);//容器布局设为绝对布局
            JButton b1=new JButton("按钮1"),b2=new JButton("按钮2");
            b1.setBounds(10,10,100,40);
            b2.setBounds(10,100,100,40);
            c.add(b1);
            c.add(b2);
        }
        public static void main(String[] args){
            new Demo();
        }
    }

     2、流布局FlowLayout,默认居中对齐。控件随窗口大小流动排列

    public class Demo extends JFrame {
        public Demo() {
            setBounds(100, 100, 300, 200);
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            Container c = getContentPane();
            c.setLayout(new FlowLayout());//容器布局设为流布局
    //        c.setLayout(new FlowLayout(FlowLayout.LEFT));//左对齐
    //        c.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));//左对齐,控件间距20
            for (int i = 0; i < 6; i++) {
                c.add(new JButton("按钮" + i));
            }
            setVisible(true);
        }
    
        public static void main(String[] args) {
            new Demo();
        }
    }

    3、边界布局BorderLayout,容器被划分为中、东、西、南、北五个区域,默认添加在中部区域。 同一区域内新控件会覆盖旧控件。

    public class Demo extends JFrame {
        public Demo() {
            setBounds(100, 100, 300, 200);
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            Container c = getContentPane();
            c.setLayout(new BorderLayout());//容器布局设为边界布局
            JButton b1 = new JButton("中");
            JButton b2 = new JButton("东");
            JButton b3 = new JButton("西");
            JButton b4 = new JButton("南");
            JButton b5 = new JButton("北");
            c.add(b1);
            c.add(b2, BorderLayout.EAST);
            c.add(b3, BorderLayout.WEST);
            c.add(b4, BorderLayout.SOUTH);
            c.add(b5, BorderLayout.NORTH);
            setVisible(true);
        }
    
        public static void main(String[] args) {
            new Demo();
        }
    }

     4、网格布局GridLayout,当控件过多或过少时,自动调整布局,行数不变,列数变。

    public class Demo extends JFrame {
        public Demo() {
            setBounds(100, 100, 300, 200);
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            Container c = getContentPane();
            c.setLayout(new GridLayout(2,4,10,10));//网格布局,2*4,间距10
            for(int i=0;i<6;i++){//6个按钮,填不满8个位置。自动调整布局为2*3,行数不变,列数变。
                c.add(new JButton("按钮"+i));
            }
            setVisible(true);
        }
    
        public static void main(String[] args) {
            new Demo();
        }
    }
  • 相关阅读:
    Andorid手机振动器(Vibrator)的使用
    Log.i()的用法
    刀哥多线程现操作gcd-10-delay
    刀哥多线程全局队列gcd-09-global_queue
    刀哥多线程Barrier异步gcd-08-barrier_async
    刀哥多线程同步任务作用gcd-07-sync_task
    刀哥多线程之主队列gcd-06-main_queue
    刀哥多线程之并发队列gcd-05-dispatch_queue_concurrent
    刀哥多线程串行队列gcd-04-dispatch_queue_serial
    刀哥多线程之03GCD 常用代码
  • 原文地址:https://www.cnblogs.com/xixixing/p/9451145.html
Copyright © 2011-2022 走看看