zoukankan      html  css  js  c++  java
  • 学习面panel和三种布局

    1、面板panel

    package Java2;
    
    import java.awt.*;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    
    /**
     * 学习面板 Panel
     * Panel:可以看做是一个空间,但是不能单独存在
     */
    public class demo03 {
        public static void main(String[] args) {
            Frame frame = new Frame();
            Panel panel = new Panel();
            //设置布局
            frame.setLayout(null);
    
            //坐标
            frame.setBounds(300,300,500,500);
            frame.setBackground(new Color(50, 133, 21));
    
            //panel设置坐标,相对于frame
            panel.setBounds(50,50,400,400);
            panel.setBackground(new Color(193,15,50));
    
            //把面板添加到frame里面去
            frame.add(panel);
            frame.setVisible(true);
    
            //监听事件,监听窗口关闭事件 ,System.exit(0)
            //适配器模式
            frame.addWindowListener(new WindowAdapter() {
                //窗口点击关闭的时候需要做的事情
                @Override
                public void windowClosing(WindowEvent e) {
                    //结束程序
                    System.exit(0);
                }
        });
        }
    }
    

    2、布局:有三种

    ①流式布局;

    ②东西南北中布局;

    ③表格布局;

    package Java2;
    
    import java.awt.*;
    
    public class demo04 {
        public static void main1(String[] args) {
            //流式布局 :从左到右,像水一样
            Frame frame = new Frame();
            //组件-按钮
            Button button1 = new Button("button1");
            Button button2 = new Button("button2");
            Button button3 = new Button("button3");
    
            //设置为流式布局
           // frame.setLayout(new FlowLayout());
            frame.setLayout(new FlowLayout(FlowLayout.LEFT));
    
            //把按钮添加上去
            frame.add(button1);
            frame.add(button2);
            frame.add(button3);
            frame.setSize(200,200);
            frame.setVisible(true);
    
        }
    
        public static void main2(String[] args) {
            Frame frame = new Frame("BorderLayout");
            //东西南北中布局
            Button east = new Button("East");
            Button west = new Button("West");
            Button south = new Button("South");
            Button north = new Button("North");
            Button center = new Button("Center");
    
            frame.add(east,BorderLayout.EAST);
            frame.add(west,BorderLayout.WEST);
            frame.add(south,BorderLayout.SOUTH);
            frame.add(north,BorderLayout.NORTH);
            frame.add(center,BorderLayout.CENTER);
            frame.setVisible(true);
            frame.setSize(300,300);
        }
    
        public static void main(String[] args) {
            Frame frame = new Frame("GridLayout");
            //表格布局
            Button btn1 = new Button("btn1");
            Button btn2 = new Button("btn2");
            Button btn3 = new Button("btn3");
            Button btn4 = new Button("btn4");
            Button btn5 = new Button("btn5");
            Button btn6 = new Button("btn6");
    
            frame.setLayout(new GridLayout(3,2));
            frame.add(btn1);
            frame.add(btn2);
            frame.add(btn3);
            frame.add(btn4);
            frame.add(btn5);
            frame.add(btn6);
            frame.pack();//java函数 :它会自动选择最合适的布局
            frame.setVisible(true);
    
        }
    }

    三种结果为:

     

     

  • 相关阅读:
    我们怎样确保从大数据计算中获得价值
    大数据恐惧症
    大数据恐惧症
    一文读懂聚类算法
    一文读懂聚类算法
    用Python实现一个大数据搜索引擎
    用Python实现一个大数据搜索引擎
    No mysqld or mysql.server after mariadb-server install
    pip下载默认绕过代理
    linux下解压 tar.bz2
  • 原文地址:https://www.cnblogs.com/xie-qi/p/14071429.html
Copyright © 2011-2022 走看看