黑马程序员_温习 GUI图形用户接口一 (个人笔记)摘要(GUI图形用户界面介绍-----布局管理器-----事件监听机制-----窗体事件---Action(执行事件)----鼠标事件----键
来源:互联网 发布:linux复制粘贴一行命令 编辑:程序博客网 时间:2024/05/20 22:29
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
摘要(GUI图形用户界面介绍-----布局管理器-----事件监听机制-----窗体事件---Action(执行事件)----鼠标事件----键盘事件)
GUI(图形用户界面):用图形的方式,显示计算机的界面,这样更方便更直观
CLI命令行用户接口:就是像DOS命令行一样的模式
JAVA为GUI提供的对象存在:
|--java.awt (抽象窗口工具包)
|--java.swing 抽象窗口工具包升级版
java.Awt(抽象窗口工具包):需调用本地系统方法实现功能,属于重量级控件(与系统练习强)
java.Swing:在AWT基础上建立的一套图形界面系统,其中提供了更多的组件而且完全JAVA实现
增强了移植性,属于轻量级控件(常用)
继承关系图(常用的):
布局管理器图:
Frame(框体)
例:
Frame f = new Frame("my awt"); //建立frame窗体,名为my awt
f.setSize(500,400); //设置窗体大小 宽x =500 高y= 400
f.setLocation(300,200); //设置出现位置 原理同上
f.setLayout(new Flowlayout()); //设置为流式布局 (Frame默认为边界式)
Button b = new Button("我是一个按钮"); //建一个按钮 ,名为 我是一个按钮
f.add(b); //将按钮加入框体
f.setVisible(true); //显示窗体
事件监听机制图:
步骤从 1~~~4
|--事件源:就是awt包或swing包中的那些图形界面组件
|--事件:每一个事件源都有自己特有的对应事件和共性方法
|--监听器:将可以触发一个或多个时间的动作,都已封装在了监听器中
以上三者java中都已定义好,直接获取其对象就可以用
!!我们要做的事情是,对产生的动作进行处理!!
窗体事件:
WindowListener 接口(窗口监听器):有7个方法要被覆盖
WindowAdapter 抽象类(适配器):实现了WindowListener的七个方法,便于创建对象(对象不用再复写七个方法)
且实现的内容为空 ,没有具体动作,只作为便于创建对象使用
例:
Frame f = new Frame ("哈哈");
f.addwindowListener(new Mywin());//添加窗体监听器
f.setVisible(true);
class Myiwin extends WindowAdapter//建立窗体事件监听处理方式,继承WindowAdapter(适配去)不用再复写七个方法
{
public void windowClosing (windowEvent e)//复写关闭窗口事件
{
System.exit(0); //当该事件发生时,退出程序
}
}
内部类形式:
f.addWindowListener(new WindowAdapter (){ //添加窗体监听,内部类(建立事件处理方式)
public void windowClosing(WindowEvent e){ //复写关闭窗口事件
System.exit(0); //当改时间发生时,退出程序
}
});
Action事件(执行事件):少数不用适配器的监听器,因为只有一个方法(点击后..执行)
例:
Button but = new Button("my button"); //建立一个按钮
but.addActionListener(new ActionListener(){ //给按钮添加一个执行侦听器,且内部实现处理方式
public void actionPerformed(ActionEvent e){ //复写唯一方法(点击后 执行。。)
System.out.println("退出是按钮干的"); //执行,打印
Systen.exit(0); //再执行退出程序
}
});
MouseListener(鼠标事件):-->MouseAdapter(鼠标适配器)
例:
Button but = new Button("哈"); //添加一个按钮
but.addMouseLisstener(new MouseAdapter(){ //给按钮添加鼠标侦听器
public void mouseEntered(MouseEvent e){ //当鼠标移动到被侦听对象时。。
System.out.println("鼠标进入到该组件"); //打印一句话
}
public void mouseClicked(MouseEvent e){ //当鼠标点击该对象时。。
if(e.getClickCount()==2) //如果连击数 是2的话
System.out.println("点击动作"); //打印一句话
}
});
KeyListener(键盘侦听器)--->KeyAdapter(键盘适配器)
例:
but.addkeyListener(new KeyAdapter(){ //给按钮添加键盘适配器
public void KeyPressed(KeyEvent e){ //当按下键时执行。。。
System.out.println(e.getKeyChar()+"---"+e.getKeyCode()); //打印按下的键和对应的值
System.out.println(KeyEvent.getKeyText(e.getKeyCode())); //打印值所对应的特殊键(Ctrl , Alt 等)
if(e.getKeyCode()==KeyEvent.VK_ENTER) //若按下回车键则
System.exit(0); //退出程序
if(e.isControlDown() && getKeyCode()==26) //若按下 ctrl 并按下26所对应的键时 则。
System.out.println("哈哈"); //打印一句话
}
});
注意:只有在按钮处于最前端时,即有虚框时,侦听器才执行
如图:
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
0 0
- 黑马程序员_温习 GUI图形用户接口一 (个人笔记)摘要(GUI图形用户界面介绍-----布局管理器-----事件监听机制-----窗体事件---Action(执行事件)----鼠标事件----键
- 黑马程序员:GUI介绍:布局管理器、Frame、事件监听机制、Action事件、鼠标键盘事件、菜单、jar包的双击执行
- 图形用户界面(GUI)事件监听机制——窗体事件Frame
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
- 黑马程序员---GUI(布局管理器、事件)
- 黑马程序员_温习 GUI图形用户接口二 (个人笔记)摘要(综合应用---对话框----菜单----Jar包打开方法)
- 《黑马程序员》图形界面管理器 GUI 以及事件监听机制 day22
- JAVA基础再回首(二十七)——JAVA中的图形化界面、GUI概述、简单的窗体创建、事件监听机制、动作事件、GUI布局、鼠标事件
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- 图形用户界面(一)GUI元素之判定事件源
- 创建图形用户界面GUI和事件监听机制的简单实现(java)
- 黑马程序员_java GUI 事件监听机制
- GUI(Frame)-(事件监听机制)-(窗体事件)
- GUI__【GUI概述】【布局】【Frame】【事件监听机制】【窗体事件】【按钮】【鼠标事件】【键盘事件】【Dialog对话框】【菜单】
- java中级-12-GUI图形用户界面(2)-GUI事件响应机制
- GUI事件监听机制
- 图形用户接口-GUI、事件处理、内部类
- 黑马程序员——>第二十二天<GUI(概念-布局-事件监听-鼠标键盘-对话框-菜单)>
- JAX-RS入门 十一:HATEOAS
- 素数筛法计算完全数
- VB6中ScaleMode位置属性特性的实验及总结.
- CloudFoundry CLI CF 解析
- NYOJ 97 兄弟郊游问题
- 黑马程序员_温习 GUI图形用户接口一 (个人笔记)摘要(GUI图形用户界面介绍-----布局管理器-----事件监听机制-----窗体事件---Action(执行事件)----鼠标事件----键
- Excel Application 对象 开发指南
- flex actionScript读取文件
- Opencv2系列学习笔记9(使用Canny算子检测轮廓)
- JAX-RS入门 十二: 可伸缩的JAX-RS应用
- 百度云与私有SVN.
- Github上600多个iOS开源项目分类及介绍
- 【Hackerrank】Reverse a doubly linked list
- Oracle 11g R2 手动建库(create database manually)