黑马程序员_温习 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
原创粉丝点击