33.Swing简介,JFrame容器,布局管理器

来源:互联网 发布:stc51单片机开发板 编辑:程序博客网 时间:2024/06/08 01:53

Swing简介

  • Swing是java的一个图形框架,继承自AWT;
  • Swing主要涉及到容器,组件(是具体的东西,不能放东西),还有布局管理器(是器件,涉及到怎么放东西);
  • Swing与用户交互时涉及到事件概念;
 - public void setVisible(boolean b)根据参数 b 的值显示或隐藏此 Window。 - public void setSize(int width,                       int height)调整组件的大小,使其宽度为 width,高度为 height。 - public void setLocation(int x,                           int y)将组件移到新位置。通过此组件父级坐标空间中的 x 和 y 参数来指定新位置的左上角。 - public Container getContentPane()返回此窗体的 contentPane 对象(用于更改背景色)配合setBackground使用 - public void setBackground(Color c)设置组件的背景色。 - public void setDefaultCloseOperation(int operation)设置用户在此窗体上发起 "close" 时默认执行的操作。(JFrame.EXIT_ON_CLOSE关闭JFrame后JAVA程序也停止运行)
public class JframeTest {    public static void main(String[] args) {        JFrame jFrame = new JFrame("JFrame窗体");        jFrame.setLocation(400, 100);//设置容器位置        Container c = jFrame.getContentPane();        c.setBackground(Color.DARK_GRAY);        c.setBackground(new Color(0,0,0));//设置背景色的不同写法        jFrame.setSize(500, 200);//设置容器大小        jFrame.setVisible(true);//让容器显示     }}

这里写图片描述


第三节JButton组件
添加按钮。JButton jB = new JButton(“按钮”);
jFrame.add(jB);将按钮添加到容器中


第四节Swing布局管理器

  • FlowLayout 流式布局
    使用此布局会使所有组件像流水一样依次排列
    这里写图片描述
public void setLayout(LayoutManager manager)设置 LayoutManager。重写此方法,从而有条件地将调用转发到 contentPane。----------public class JframeTest {    public static void main(String[] args) {        JFrame jFrame = new JFrame("FlowLayout测试");        jFrame.setLayout(new FlowLayout());//流式布局        JButton jb = null;        for (int i = 1; i < 10; i++){            jb = new JButton("JButton"+i);            jFrame.add(jb);        }        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        jFrame.setLocation(400, 100);//设置容器位置        Container c = jFrame.getContentPane();        c.setBackground(Color.DARK_GRAY);        jFrame.setSize(500, 200);//设置容器大小        jFrame.setVisible(true);//让容器显示    }}
  • BorderLayout 是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。
BorderLayout()           构造一个组件之间没有间距的新边框布局。
        jFrame.setLayout(new BorderLayout());        jFrame.add(new JButton("东"),BorderLayout.EAST);        jFrame.add(new JButton("北"),BorderLayout.NORTH);        jFrame.add(new JButton("西"),BorderLayout.WEST);        jFrame.add(new JButton("南"),BorderLayout.SOUTH);        jFrame.add(new JButton("中"),BorderLayout.CENTER);

这里写图片描述

BorderLayout(int hgap, int vgap)           构造一个具有指定组件间距的边框布局。    例如:jFrame.setLayout(new BorderLayout(10,10));

输出
这里写图片描述

  • GridLayout GridLayout 类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。
    构造方法摘要
    GridLayout()
    创建具有默认值的网格布局,即每个组件占据一行一列。
    GridLayout(int rows, int cols)
    创建具有指定行数和列数的网格布局。
    GridLayout(int rows, int cols, int hgap, int vgap)
    创建具有指定行数和列数的网格布局。
  • 绝对布局 setBounds
    public void setBounds(int x,
    int y,
    int width,
    int height)移动组件并调整其大小。由 x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。
    如:
    这里写图片描述
0 0
原创粉丝点击