java学习笔记(7)

事件模式的实现步骤: 
开发事件对象(事件发送者)——接口——接口实现类——设置监听对象 一定要理解透彻Gril.java程序。  
重点:学会处理对一个事件源有多个事件的监听器(在发送消息时监听器收到消息的排名不分先后)。 事件监听的响应顺序是不分先后的,不是谁先注册谁就先响应。 事件监听由两个部分组成(接口和接口的实现类)。 
事件源     事件对象                        事件监听 
 gril       EmotinEvent       EmotionListener(接口)、Boy(接口的实现类) 鼠标事件:MouseEvent,接口:MouseListener。 P235 ActionEvent。 
注意在写程序的时候:import java.awt.*;以及import java.awt.event.*注意两者的不同。  
在生成一个窗体的时候,点击窗体的右上角关闭按钮激发窗体事件的方法:窗体Frame为事件源,WindowsListener接口调用Windowsclosing()。 
为了配合后面的实现,我们必须将WindowsListener所有的方法都实现,除了Windowsclosing方法,其余的方法均为空实现。 
(练习:写一个带button窗体,点关闭按钮退出。) 
上面程序中实现了许多不必要的实现类,虽然是空实现。 
为了避免上面那些无用的实现,可以利用WindowEvent的一个WindowEvent类,还是利用windowsListener。还有WindowAdapter类,它已经实现了WindowsListener。它给出的全部都是空实现,那就可以只写想要实现的类,去覆盖其中的类,就不用写空实现。 注意:监听过多,会抛tooManyListener例外。Module  10 
Canvas组件:画布,可以实现动画操作。 TextArea:文本域。 
在单行文本域中回车会激发ActionEvent。 用CheckBoxGroup实现单选框功能。 
Java中,单选框和复选框都是使用CheckBox实现。 菜单:new MenuBar(),MenuBar表示菜单条。 
菜单中的每一项为MenuItem,一般级联菜单不应该超过三级。 练习: 
设计一个计算器:注意设置一个boolean值(append)来判断输入数字是位于第一个数的后面还是属于输入的第二个数。 
设置一个变量来存放“+”,点完运算符后,将append设置为false。 String number1达内java学习笔记 
 
22 
Char  operator 存放运算符。  
Module  11 Swing 
AWT是Java最早出现的图形界面,但很快就被Swing所取代。 Swing才是一种真正的图形开发。 
AWT在不同平台所出现的界面可能有所不同:因为每个OS都有自己的UI组件库,java调用不同系统的UI。 
注意AWT为重量级组件,相当消耗资源,且不同系统的组件可能不同。因为这个问题使得AWT开发的软件难以作到跨平台。 更为要命的是:不同OS的组件库都存在BUG。必须多种平台进行测试,并且AWT的组件库并不丰富。 为解决以上问题,SUN和IBM以及NETSCAPE联合开发出JAVA基础类包Swing:注意JAVA的基础类以Swing为核心。 
注意引用:javax.swing.*;javax表示JAVA的扩展。  
我们在学习JDBC的时候会过度到J2EE。  
在Swing的组件中,基本上都是在AWT组件的名称前面加“J”。 一般情况下,除了Choise等组件: 
import javax.swing.*;好要加上:import java.awt.*以及import java.awt.event.*。 
Swing与AWT的最大区别是Swing为JAVA自身的组件。已经不是对等实体,与底层的OS无关。 (JBUILDER就是使用Swing写的)  
Swing与AWT在事件模型处理上是一致的。 Jframe实际上是一堆窗体的叠加。 Swing比AWT更加复杂且灵活。 
在JDK1.4中,给JFRAME添加Button不可用jf.add(b)。而是使用jf.getContentPane().add(b)。 content是先申请面板。不过在JDK1.5中可以使用add.。 Jpanel支持双缓冲技术。 在Jbutton中可以添加图标。 
JscrollPane可以管理比屏幕还要大的组件。 
TextArea只有装入JscrollPane中才能实现滚动条。 JeditorPane用于显示浏览器。 
注意:Tabbed Panel与Border的比较。 进度条:ProgressBar。 
JcomboBox:下拉菜单:在AWT中同类组件是choice。 JlistPanel:选择列表 BorderPanel:设置边框 
JsplitPanel:可将容器分为两个部分,其中一个部分有Jtree。 TextBox:也是一种新的容器,可以设置组件的间距。 TextFileChoose:文件选择器。 ColorChoose:颜色选择器 Module 12  Applet Applet为Panel的子类 
Applet是java的自动执行方式(这是它的优势,主要用于HTML)。 工作四种语法:init(),start(),stop(),destory()。 Swing中有一个Japplet,如使用Swing组件。 Applet消亡的原因: 
①java为安全起见对Applet有所限制:Applet不允许访问本地文件信息、敏感信息,不能执行本地指令(比如FORMAT),不能访问初原服务器之外的其他服务器。② IE不支持新版本的Applet。 Applet的优势: 
网络传输,自动下载。 
Application的优势:没有执行限制。 
WebStart:可在网络传输,并且在本地无限制。因此前景光明。  
练习: 
使用Swing实现一个界面,分为上下两个部分,南边为JtextField组件,可编辑,上面为JtextArea组件,不可编辑,在JtextField组件输入字符,按回车,就可以将内容输入到JtextArea组件。(AREA区域可以滚动)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值