java进阶10 GUI图形界面 布局管理器之FlowLayout GridLayout

  先说说FlowLayout

  流式布局管理器。  

  效果

  这是当第一行显示不下,才转到第二行的。

  看看代码

package Frame;

import java.awt.BorderLayout;
import java.awt.FlowLayout;

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



public class MyLayout{
    JFrame frame;
    public MyLayout(JFrame frame) {
        // TODO Auto-generated constructor stub
        this.frame=frame;
    }
    //留给UI类操作的函数
    public void creatLayout(){
        
        ShowFlowLayout();
    }

    void ShowFlowLayout(){
        frame.setLayout(new FlowLayout());
        
        JButton East=new JButton("东方");
        JButton West=new JButton("西方");
        JButton North=new JButton("北方");
        JButton South=new JButton("南方");
        JButton Center=new JButton("中央");
        JButton East1=new JButton("东方1");
        JButton West1=new JButton("西方1");
        JButton North1=new JButton("北方1");
        JButton South1=new JButton("南方1");
        JButton Center1=new JButton("中央1");
        
        frame.add(East);
        frame.add(West);
        frame.add(North);
        frame.add(South);
        frame.add(Center);
        frame.add(East1);
        frame.add(West1);
        frame.add(North1);
        frame.add(South1);
        frame.add(Center1);
    }

}

  基本,处理BorderLayout 不用写setLayout()这个函数之外,其他布局都要写,系统默认的是流式布局。

  其构造中还有其他方法

  frame.setLayout(new FlowLayout(FlowLayout.LEFT));

  效果:

  

  其他的就不再演示了,可以自己去试下。

 

  接下来在说说 GridLayout

  网格布局

  

 

  其主要代码块

  

void ShowGridLayout(){
        frame.setLayout(new GridLayout(3,3));
        
        JButton East=new JButton("东方");
        JButton West=new JButton("西方");
        JButton North=new JButton("北方");
        JButton South=new JButton("南方");
        JButton Center=new JButton("中央");
        JButton East1=new JButton("东方1");
        JButton West1=new JButton("西方1");
        JButton North1=new JButton("北方1");
        JButton South1=new JButton("南方1");
        
        
        frame.add(East);
        frame.add(West);
        frame.add(North);
        frame.add(South);
        frame.add(Center);
        frame.add(East1);
        frame.add(West1);
        frame.add(North1);
        frame.add(South1);
        
    }

  这里还可以设置各网格之间的间距。

改下构造函数即可

frame.setLayout(new GridLayout(3,3,12,12));

  关于这些布局都是很简单的说明。

  一般各种复杂的布局,其实就是这三个布局的互相嵌套形成的。

  只要会了这3个布局,基本任何界面都能做出来。

  关于图形界面就不会再讲了

  因为我的重点不在这里

  主要是在java ee 和android上

  个人对这个不是很重视。

  关于其他控件之类的有时间再研究吧。

  

posted @ 2014-04-27 23:00  未闻罂粟  阅读(766)  评论(0编辑  收藏  举报