韩顺平java 第29讲 swing介绍

时间:2022-10-17 21:04:41

GUI:图形用户界面

  • Graphics User Interface,用户与程序交互的窗口。
  • awt、swing、swt、Jface关系
    韩顺平java 第29讲 swing介绍
    swing是将swt升级和改善。lcd问题就是能跨平台操作,而且界面一样。
    现在我们大多用swing。
  • swing组件一览
    韩顺平java 第29讲 swing介绍
    可以看出分为:Text文本块的,菜单块,小控件(按钮,滑竿,单选等),窗口块,还有子窗口块。
  • 例子
import javax.swing.*;
import javax.swing.*;
//这个x表示扩展swing的包。

public class MyClass extends JFrame{

    public static void main(String[] args) {
        MyClass myclass = new MyClass();
    }

    public MyClass(){
        //JFrame是一个顶层容器(可以添加其他swing组件的容器类)
        JButton jb1 = new JButton("按钮");//这句话只是创建了一个按钮,但是还没有添加呢

        //给窗体设置标题
        this.setTitle("hello chen");

        //设置大小,像素单位
        this.setSize(300,200);

        //设置初始位置
        this.setLocation(200, 100);

        this.add(jb1);
        //显示
        this.setVisible(true);

        //关闭窗口的时候就关闭此窗口,就是从JVM中退出
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

JButton

  • JButton是AbstractButton的子类
  • 属于容器类组件,可以加入别的组件
  • Swing包得按钮组件不只有JButton,还有单选按钮(JRadioButton),箭头按钮(BasicArrowButton)、触发器按钮(JToggleButton)……

布局管理器

概念

组件在容器(如JFrame)中的位置和大小是由布局管理器来决定的,所有的容器都会使用一个布局管理器来自动进行组件的布局管理。

种类

java提供了5种布局管理器:
1. 流式布局管理器(FlowLayout)
2. 边界布局管理器(BorderLayout)
3. 网格布局管理器(GridLayout)
4. 卡片布局管理器(CardLayout)
5. 网格包布局管理器(GridBagLayout)