GUI 基础(Graphical User Interface)

GUI翻译过来就是图形界面编程

GUI概述:

关于我们要不要学习GUI

  • 虽然java中的GUI相较于一些专业的图形界面编程软件而言来说是有一定的差距,但是我们学习GUI更多的是一种思想,而且我们很多的编程软件中的图形界面都有相似之处,所以我们java中的GUI我们也还是要进行学习的

我们为什么使用GUI编程?

  • 就是为了我们编写出来的程序对客户来讲更加友好
    • 因为我们之前编程时都是在控制台进行输入和输出,这样的方式对于我们的用户来讲不够生动形象
    • 而我们的GUI编程,也就是图形界面编程中可以有窗口,有图形界面,对于用户来说更加友好,使用起来更加方便

图形界面编程步骤:

  1. 我们要先创建一个窗口(也就是创建一个JFrame类的对象)
    • 在GUI编程中,我们都是先要创建一个窗口,然后再在窗口中去添加面板,然后再往面板上添加一些功能组件
  2. 其次我们要创建一个面板(也就是创建一个JPanel类的对象)
    • 在GUI编程中,我们创建的一个窗口之后就要创建一个面板,因为我们的内容其实是添加到面板上的,有些内容我们其实也是添加到窗口上,比如我们的菜单栏就是要添加到窗口上
我们也说窗口和面板都是一个组件,更加具体的来说是一个功能组件,我们的窗口和面板中都可以添加一些其他的结构

组件分为容器组件和功能组件

  • 窗口和面板都是容器组件
  • 文本输入框,密码框,按钮等都是功能组件
  1. 我们创建了面板之后就要在这个面板上去布局,去添加组件或者去再镶嵌面板
    • 所以这里我们就提出了面板的三个功能
      1. 可以镶嵌面板
      2. 可以布局
      3. 可以去添加组件
  2. 然后我们具体的去实现我们想要完成的功能,去加一些时间监听,去具体的实现

面板的布局方式:

面板的布局方式一共有三种:

  1. 流动式 : FlowLayout ()

    eg:

    JPanel j1 = new JPanel(new FlowLayout());
    
    • 我们使用流动式方式创建出的按钮默认是居中的
    • 如果我们想要流动式的方式创建一个某个指定方向对齐的功能器件,我们可以使用FlowLayout类的有参构造方法传入一个参数FlowLayout类中的静态字段

    eg:

    JPanel j2 = new JPanel(new FlowLayout(FlowLayout.LEFT));
    
  2. 边界式 : BorderLayout()

    • 如果我们创建的是边界式的布局面板,在边界式的布局面板中会有 北, 南 , 西, 东, 中,这个时候我们可以在JPanel类的add()方法中输入指定的静态字段来决定我们的这个功能组件将要存储到的位置
      • 比如说BorderLayout.WEST就表示西
  3. 网格式 : GridLayout

其实我们面板还有一种布局方式(其实这一种可以算作布局方式,也可以不算做)

  • 通过定位的方式布局
    • 通过定位的方式布局其实就是指定位置的布局,就是我们如果指定就是如何布局

关于面板布局的总结:

  1. 我们的流动式(FlowLayout),边界式(BorderLayout),还有网格式(GridLayout)适用于我们创建一个程序面板
  2. 而我们定位的方式布局使用与制作游戏时,做一个小游戏时就可以使用定位的方式布局

所以我们GUI中最基础的就是:

  1. 窗口
  2. 面板
  3. 具体的功能组件
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐