J2SE视频笔记(10)

J2SE视频笔记(10):

第三十四讲

JButton组件:

  • 这一块还是比较简单的,具体的解释都已经写在代码中了。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    import javax.swing.JButton;
    import javax.swing.JFrame;
    public class JButtonTest {
    public static void main(String[] args) {
    JFrame jf=new JFrame("JButton测试");
    // 创建一个按钮
    JButton jb=new JButton("按钮");
    // 将按钮加入到JFrame中去
    jf.add(jb);
    jf.setSize(500, 200);
    jf.setLocation(300, 200);
    jf.setVisible(true);
    // 设置窗口的关闭方式
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    }

Swing布局管理器

  • 先小小的吐槽一番,终于学到了自己长久以来不懂的知识了,真是感人~把它搞懂,加油!!

    FlowLayout布局管理器:

  • 使用这种布局管理器,会使所有的组件像流水一样依次进行排列。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    import java.awt.FlowLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    public class FlowLayoutTest {
    public static void main(String[] args) {
    JFrame jf=new JFrame("FlowLayout测试");
    // 设置布局
    //FlowLayout fl=new FlowLayout();
    // FlowLayout fl=new FlowLayout(FlowLayout.LEFT); //这个是设置默认为左对齐方式
    // 还可以同时设置水平间隙和垂直间隙
    FlowLayout fl=new FlowLayout(FlowLayout.LEFT,50,50);
    jf.setLayout(fl);
    JButton jb=null;
    for(int i=0;i<9;i++){
    jb=new JButton("JButton"+i);
    jf.add(jb);
    }
    jf.setSize(500, 200);
    jf.setLocation(300, 200);
    jf.setVisible(true);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    }

BorderLayout布局管理器

  • 将窗体的版面划分成东、西、南、北、中五个区域,可以直接将需要的组件放到这5个区域中。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import java.awt.BorderLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    public class BorderLayoutTest {
    public static void main(String[] args) {
    JFrame jf=new JFrame("BorderLayout测试");
    //BorderLayout bl=new BorderLayout();
    // 构造方法中可以设置间隙
    BorderLayout bl=new BorderLayout(5,5);
    jf.setLayout(bl);
    // 它有5个可以放置的位置
    jf.add(new JButton("东"),BorderLayout.EAST);
    jf.add(new JButton("西"),BorderLayout.WEST);
    jf.add(new JButton("北"),BorderLayout.NORTH);
    jf.add(new JButton("南"),BorderLayout.SOUTH);
    jf.add(new JButton("中"),BorderLayout.CENTER);
    jf.setSize(500, 200);
    jf.setLocation(300, 200);
    jf.setVisible(true);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    }

GridLayout表格布局

  • 相当于是一个表格,指定的时候必须说明行数和列数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    JFrame jf=new JFrame("BorderLayout测试");
    // 设置布局方式为4行5列,间距为5,5
    GridLayout gl=new GridLayout(4, 5, 5, 5);
    jf.setLayout(gl);
    JButton jb=null;
    for(int i=0;i<19;i++){
    jb=new JButton("JButton"+i);
    jf.add(jb);
    }

绝对布局

  • 绝对布局就是一开始的layout设置为null,然后自己随便加东西进去自己设置组件的位置(DIY?)
  • 没什么好讲的,知道就行了

  • End,感觉布局方式还是挺简单的并没有我想像的那么复杂,其实都是一个布局方式的改变而已。而且swing这种布局方式已经比较落后了,所以这些就只要稍作了解就行了。

热评文章