1.GUI的概念
GUI就是图形管理界面,是指采用图形方式显示的用户界面,相较于早期的计算机命令界面,图形界面更易于被用户所接受。
2.Swing的概念
- swing就是java设计的GUI工具类,里面含有各种组件
- 一个java的图形界面,都是由各种元素组成的,这些元素统一被称作组件。
- 而java中的组件大概被分为了两类:分别是容器和功能组件,其中容器就是窗口,对话框和米面板之类,而功能组件则是指菜单,按钮,和输入框等。
- 容器是一种可以包含组件的特殊组件
3.容器组件
- 容器组件中用的最多的两个组件就是JFrame和JPanel两个容器,其中JFrame用来创建窗体。
- 对于窗体的创建,我们可以新建一个类,让此类继承JFrame类从而来实现窗口的创建。
- 对于窗体的创建有如下几种方法:
- void setSize(int width,int height); 设置窗口的长度和宽度
- void setVisible(boolean b); 设置窗口是否可见
- void setTile(String title); 设置窗口的名称
- void setResizable(boolean b); 设置窗口是否可以被用户所修改
- void setLocation(int x,int y); 设置窗口在屏幕的哪个坐标
- void setLocationRelativeTo(null); 设置窗口在屏幕的中央
- void SetDefaultCloseOperation(int operation); 设置在关闭窗口时程序的待机动作
4.常用的组件
-
JPanel组件: 它的构造方法有两种。1.是空模板,没有参数的默认构造方法,其中的布局方法是默认的流式布局 2.是自己定义模板的布局方法,可用的布局方式分别是流式布局,边界布局和网格布局。
- 流式布局:new FlowLayout(),该布局是指按从左到右,从上到下的顺序一次来安排组件的位置,并在默认情况下是组件尽量居中。
- 边界布局:new BorderLayout(),该布局是指只能向容器中放五个组件,分别字容器的上面,下面,靠左,靠右和中间。
- 网格布局:new GridLayout(),该布局是指将组件像表格一样依次放在表格中,而表格的边距和几行几列是由自己确定的。
-
JLable组件:它的作用是用来在界面中标识别的控件。他的构造函数可以是创建一个带文本的标签。可用的方法如下:
- void srtText(String text); 设置标签上的文本。
- String getText(); 获取标签上的文本。
- SetFont(new Font("宋体",Font.BOLD,18)); 设置字体
-
文本组件:它的作用是使程序员可以在里面进行打字提示或者与用户进行交互。它可以分为JTextFiled和JTextArea。其中JTextFiled是单行文本输入框,而JTextArea是多行文本输入框。
- JTextFiled:常见的两种方法:void setText(String text);设置文本框中的文本. String getText();获得文本框中的文本.
- JTexArea:常见的几种方法:new JTexArea(int rows,int columns); 创建一个指定行数和列数的空文本域. void SetText(String text) 设置文本域中的文本 String getText(); 获得文本域中的文本. void setFont(Font font) 设置文本域中文本的字体. void setLineWrap(boolean wrap) 是否自动换行,默认是false,不自动换行. 若需要文本域中出现滚动条,需要将文本域对象放入滚动窗口(JScrollPane)中.
- JPasswordFiled:密码框;
- JButton:按钮.在按钮中可以通过创建匿名内部类来进行与键盘和鼠标的交互.接下来便是数据交互的具体内容.
5.事件处理
- java中事件处理的思路具体如下:一个事件源产生一个事件并把它送在监听器哪里,监听器一直等待,直到他收到一个事件,一但事件被接受,监听器会处理这些事情.
- 添加事件监听器:addActionListener(new ActionListener(){});
- 在事件处理中会有一些提醒用户来进行正确的事件交换.而这种提醒或是警告是由JOptionPane来完成.其中最常见的有showMessageDialog();消息对话框.还有addWindowListener({});这是对于窗口进行监听.
6.内部类
- 顾名思义,内部类就是写在类中的类,它的特点是外部类中任何变量和方法都能够直接调用,比起继承较为方便,适合于小型且数量较多的类.