【java复习】java界面开发

Java界面开发演进

这里写图片描述

Eclipse介绍

Eclipse最早是IBM附属公司oti公司开发的,开发后后来捐给开源社区
Eclipse是一个开源的/可扩展的集成开发环境,已经成为目前java开发最主流的工具
Eclipse安装后就可以开发java se项目了,但是还不能开发java ee项目需要安装web插件.

Swing组件

这里写图片描述

swing组件主要包括Text相关组件/Menu相关组件/Widgtes相关组件/顶层窗口组件等等。

布局管理器

概念:组件在容器中的位置和大小是由布局管理器来决定的.所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理.
Java共提供了五种布局管理器:流式布局管理器FlowLayout/边界布局管理器BorderLayout/网格布局管理器GridLayout/卡片布局管理器CardLayout以及网格包布局管理器GridBagLayout.其中前三种最常用.

边界布局管理器

边界布局管理器将将容器简单的划分为东西南北中5个区域,中间区域最大.
这里写图片描述

/*
 * BorderLayout演示
 * 1.继承JFrame
 * 2.定义你需要的组件
 * 3.创建组件
 * 4.添加组件
 * */
package com.fox.test1;

import javax.swing.*;
import java.awt.*;

public class Demo8_2 extends JFrame{
    //2.定义组件
    JButton jb1 =null;
    JButton jb2 =null;
    JButton jb3 =null;
    JButton jb4 =null;
    JButton jb5 =null;

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Demo8_2 test = new Demo8_2();
    }
    public Demo8_2() {
        //3.创建组件
        jb1 = new JButton("中部");        
        jb2 = new JButton("北部");
        jb3 = new JButton("东部");
        jb4 = new JButton("南部");
        jb5 = new JButton("西部");
        //4.添加组件
        this.add(jb1,BorderLayout.CENTER);
        this.add(jb2,BorderLayout.NORTH);
        this.add(jb3,BorderLayout.EAST);
        this.add(jb4,BorderLayout.SOUTH);
        this.add(jb5,BorderLayout.WEST);

        //5.设置窗体属性
        this.setTitle("边界布局演示");
        this.setSize(400, 300);
        this.setLocation(200,300);
        this.setVisible(true);

        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    }

}

注意事项:
不是五个部分都必须添加,中间部件会自动调节大小JFrame、JDialog默认就是边界布局管理

流式布局管理器

流式布局管理器是按照组件的添加次序将按钮组件从左至右依次放置在容器中,当到达容器的边界时自动将组件放置在下一行,流式布局可以左对齐,右对齐居中对齐的方式来排列组件。

这里写图片描述

/*
 * FlowLayout演示
 * 1.继承JFrame
 * 2.定义你需要的组件
 * 3.创建组件
 * 4.添加组件
 * */
package com.fox.test1;

import java.awt.BorderLayout;
import java.awt.*;

import javax.swing.*;

public class Demo8_3 extends JFrame{
        //2.定义组件
        JButton jb1 =null;
        JButton jb2 =null;
        JButton jb3 =null;
        JButton jb4 =null;
        JButton jb5 =null;
        JButton jb6 =null;
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Demo8_3 test = new Demo8_3();
    }
    public Demo8_3() {
            //3.创建组件
            jb1 = new JButton("关羽");        
            jb2 = new JButton("张飞");
            jb3 = new JButton("黄忠");
            jb4 = new JButton("赵子龙");
            jb5 = new JButton("马超");
            jb6 = new JButton("魏延");

            //4.添加组件
            this.add(jb1);
            this.add(jb2);
            this.add(jb3);
            this.add(jb4);
            this.add(jb5);
            this.add(jb6);

            //5.设置窗体属性
            //设置布局管理器
            this.setLayout(new FlowLayout(FlowLayout.LEFT));//不设置的话 默认组件式居中对齐的

            this.setTitle("边界布局演示");
            this.setSize(400, 300);
            this.setLocation(200,300);
            this.setVisible(true);

            //禁止用户改变窗体大小
            this.setResizable(false);   
        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }
}

流式布局注意事项:
不限制它所管理的组件的大小,允许他们有最佳大小。
当容器被缩放时,组件的位置可能变化,但是组件的大小不变。
默认组件是居中对齐的,可以用FlowLayout(int align)来指定对齐方式。

网格布局管理器

它将容器分为多行多列,组件被填充到网格中,添加到容器中的组件首先放置到容器的左上角,然后从左到右放置其他组件,当占满该行的所有网格后接着继续从下一行从左到右放置其他组件。

这里写图片描述

package com.fox.test1;

import java.awt.*;

import javax.swing.*;

public class Demo8_4 extends JFrame{
    //定义组件

    int size =9;
    JButton jbs[]=new JButton[size];
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Demo8_4 test = new Demo8_4();
    }
    public Demo8_4() {
        //定义组件
        for(int i=0;i<size;i++)
        {
            jbs[i]= new JButton(String.valueOf(i));
        }

        //设置网格布局管理器
        this.setLayout(new GridLayout(3,3,10,10));

        //添加组件
        for(int i=0;i<size;i++)
            this.add(jbs[i]);

        //5.设置窗体属性

        this.setTitle("网格布局演示");
        this.setSize(400, 300);
        this.setLocation(200,300);
        this.setVisible(true);

        //禁止用户改变窗体大小
        this.setResizable(false);

        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    }
}

网格布局的注意事项:
组件的相对位置不随着容器的缩放而改变,但是大小会变化
所有组件的大小相同
可以通过GridLayout(int rows,int cols,int hgap,int vgap)来指定网格的行列数,水平间隙和垂直间隙。

小结

java GUI开发步骤
1. 继承JFrame
2. 定义你需要的组件
3. 创建组件
4. 设置布局管理器
5. 添加组件
6. 设置窗体属性,显示窗体

猜你喜欢

转载自blog.csdn.net/yuewen2008/article/details/81566749