JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
2016-07-31 12:27
567 查看
JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
有段时间没有更新JAVA了,我们今天来说一下JAVA中的图形化界面,也就是GUI
一.GUI的概述
GUI全称叫做Graphical User Intergace(图形用户接口),用图形的方式,来显示计算机操作的界面,这样更加方便直观,与用户交互
说道交互,其实系统跟用户有两种交互,一种是GUI,一种叫做CLI,也就是命令行,全称叫做Command User Intergace,这个需要一些学习成本,倒是不怎么推荐,比如创建文件夹之类的,要是你用CLI那就有点麻烦了
回到JAVA,java中为GUI提供的对象都存在java.Awt和javax.Swing两个包中,这两个是什么意思呢?
java.Awt:abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能,属于重量级控件
javax.Swing:在Awt的基础上,建立的一套图形化界面系统。其中提供了更多的组件,而且完全由java实现,增强了移植性,属于轻量级控件
我们来看看大致的组件
二.GUI布局
我们来学习这些控件之前,我们要学习他的布局,这些组件应该按照什么样的样式排放,这就是布局,常见的布局管理器有以下这几种
FlowLayout(流式布局管理器)
从左往右的顺序排列
Panel默认的布局管理器
BorderLayout(边界布局管理器)
东南西北中
Frame默认的布局管理器
GridLayout(网格布局管理器)
规则的矩阵
CardLayout(卡片布局管理器)
选项卡
GridBagLayout(网格包布局管理器)
非规矩的矩阵
三.Frame
我们来玩一下这个布局
package com.lgl.hello; import java.awt.Frame; public class Test { public static void main(String[] args) { Frame f = new Frame("GUI"); //设置宽高 f.setSize(300, 200); //设置显示位置 f.setLocation(720, 560); //显示 f.setVisible(true); } }
运行的结果
紧接着,我们往里面放控件
package com.lgl.hello; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; public class Test { public static void main(String[] args) { //默认边界布局 Frame f = new Frame("GUI"); //设置布局管理器 f.setLayout(new FlowLayout()); //设置宽高 f.setSize(300, 200); //设置显示位置 f.setLocation(720, 560); //按钮 Button b = new Button("Button"); f.add(b); //显示 f.setVisible(true); } }
运行的结果
既然如此,我们就给他设置点击事件了
四.GUI事件监听机制
我们怎么去监听他的事件?我们先来看下流程图
1.事件源
2.事件
3.监听器
4.事件处理
我们就直接看代码了,我们先监听这个窗体右上角的关闭按钮
// 窗体监听 f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // 关闭窗口 System.exit(0); } });
五.Action事件
我们继续来看,我们先按传统的四位给写好布局
package com.lgl.hello; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class Test { public static void main(String[] args) { new Test1(); } } class Test1{ // 定义组件 private Frame f; private Button b; // 构造方法 public Test1() { init(); } // 初始化 private void init() { //初始化坐标 f = new Frame("My GUI"); //设置坐标 f.setBounds(300, 100, 600, 500); //设置布局 f.setLayout(new FlowLayout()); //初始化按钮 b = new Button("Button"); //添加到布局 f.add(b); //显示之前加载一下 myEvent(); //显示 f.setVisible(true); } //监听器 private void myEvent() { f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); //添加按钮事件 } }
仔细看代码,我们现在才是添加按钮事件
// 添加按钮事件 b.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("点击事件"); } });
这样按钮也就具备了点击事件
六.鼠标事件
什么都有事件,那这样我们来监听一下鼠标的事件
// 鼠标事件 b.addMouseListener(new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { System.out.println("鼠标进入了"); } @Override public void mouseExited(MouseEvent e) { System.out.println("鼠标出去了"); } });
十分的简单是吧,那相对的,还有一个键盘事件,提示框什么的,我们这个篇幅就到这里了,下篇文章我们再详细的介绍!
有兴趣的可以加群:555974449
相关文章推荐
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
- JAVA基础再回首(二十七)——JAVA中的图形化界面、GUI概述、简单的窗体创建、事件监听机制、动作事件、GUI布局、鼠标事件
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- 黑马程序员:GUI介绍:布局管理器、Frame、事件监听机制、Action事件、鼠标键盘事件、菜单、jar包的双击执行
- Java基础-GUI(概述、布局、Frame、事件监听机制等事件演示)
- 黑马程序员_温习 GUI图形用户接口一 (个人笔记)摘要(GUI图形用户界面介绍-----布局管理器-----事件监听机制-----窗体事件---Action(执行事件)----鼠标事件----键
- GUI__【GUI概述】【布局】【Frame】【事件监听机制】【窗体事件】【按钮】【鼠标事件】【键盘事件】【Dialog对话框】【菜单】
- (十三)Core Java GUI(图形化界面小程序开发,事件监听机制流程,以及可运行jar包的配置实现,) (109)
- 黑马程序员_GUI(布局,Frame,事件监听机制,对话框Dialog,菜单,打开和保存文件)
- 黑马程序员_GUI(布局,Frame,事件监听机制,对话框Dialog,菜单,打开和保存文件)
- 黑马程序员_Java第22天知识总结_创建图形化界面_事件监听机制_双击执行的jar包
- 双按钮双事件监听机制的简单java GUI
- 图形用户界面(GUI)事件监听机制——窗体事件Frame
- 三十一、Java图形化界面设计——布局管理器之GridLayout(网格布局)
- 图形用户界面(GUI)事件监听机制——窗体事件Frame
- JAVA-Swing图形化界面之事件监听1
- GUI(Frame)-(事件监听机制)-(窗体事件)
- 4.JAVA之GUI编程事件监听机制