java gui 运行模式_简述Java中,GUI的事件驱动模式

放弃了继续《猜猜看》的代码研究,因为我真的连自己不懂在哪里都不清楚。然后我随便上网了解了老师之前提过的问题,一是简述Java中,GUI的事件驱动模式。(我还是不了解)

图形用户界面GUI 1、基本组成: a、提供最基本的GUI控件,如按钮、标签、文本字段等 b、将基本GUI控件组织为包容层次的容器组件,如顶层容器,中间容器等 c、负责管理容器中的组件布局的组件,如边界布局管理器、流布局管理器 d、事件传播与处理模式,如事件处理模式、各种事件监听器等 e、其他高级特征 2、一个简单的GUI程序: import javax.swing.*; public class Te { public static viod main (String[] args) { JFrame frame =new JFrame("welcome to GUI'world"); frame.getContentPane().add( new JLabel("java'CUI Program“)); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true);}} 3、事件: 定义:一个携带信息的对象。标识事件的种类以及产生事件的事件源。需要由相应的监听器接受并处理 语义:类java.util.EventObject描述了所有事件的基本语义。 事件处理代码在一个单独线程(event-dispatching thread)中执行 4、事件处理程序的实现: a、声明事处理件类时,要么指定一个监听接口,要么继承一个实现看监听器接口的类 如:piblic class Te inplements ActionListener{……} b、将事件处理类的实现注册到一个或多个组件作为监听器 如:someCompinent.addActionListener(instanceOfTe); c、实现监听器接口指定的方法 如:public void actionPerformed(ActionEvent evt) 5、 方法一:实现MouseListener接口 方法二:继承MouseListener类 方法三:使用匿名内部类 6、GUI组件(component):JPanel(面板)、JFrame(画框)、JLabel(标签)、JButton(按钮) 7、Swing组件分类: 顶层容器:为其他GUI组件的绘制提供位置 中间容器:仅是为了方便定位其他GUI组件 原子组件(atomic component):为了容纳其他GUI组件 8、Applet应用框架必须继承Applet或Applet类 9、网搜总结:http://jinnianshilongnian.iteye.com/blog/1902886 a、其所有组件都继承自java.awt.Component抽象类,其内部提供了addXXXListener(XXXListener l) 注册监听器的方法,即Component与实际动作之间依赖于XXXListener抽象。 b、Java Swing中处理各组件事件的一般步骤是:  1.  新建一个组件(如JButton)。  2.  将该组件添加到相应的面板(如JPanel)。  3.  注册监听器以监听事件源产生的事件(如通过ActionListener来响应用户点击按钮)。  4.  定义处理事件的方法(如在ActionListener中的actionPerformed中定义相应方法)。  以上步骤我们可以用多种方法实现。但人们通常用二种方法。第一种方法是只利用一个监听器以及多个if语句来决定是哪个组件产生的事件;第二种方法是使用多个内部类来响应不同组件产生的各种事件,其具体实现又分两种方式,一种是匿名内部类,一种是一般内部类。   比如获取焦点事件,很多组件都可以有这个事件,是我们知道组件获取到焦点后需要一个处理,虽然每个组件如何处理是特定的(具体的),但我们可以抽象一个FocusListener,让所有具体实现它然后提供具体动作,这样组件只需依赖于FocusListener抽象,而不是具体。   还有如java.awt.Button,提供了一个addActionListener(ActionListener l),用于注册点击后触发的ActionListener实现。   组件是一个抽象类,其好处主要是复用,比如复用这些监听器的触发及管理等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值