麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Adapter在J2SE事件處理中的應用

2019-11-18 13:48:19
字體:
來源:轉載
供稿:網友

  1.Adapter模式理論

  Adapter模式又稱變壓器模式,關于該模式的基本概念請參考其他書籍或資料;這里我們只粗略討論該模式兩大實現方法的區別:基于類的Adapter模式和基于對象的Adapter模式。

  基于類的Adapter模式的一般結構如下:Adaptee類為Adapter的父類,Adaptee類為適配源,適配目標(接口)也是Adapter的父類;基于類的Adapter模式比較適合應用于Adapter想修改Adaptee的部分方法的情況。基于對象的Adapter模式的一般結構如下:Adaptee類對象為Adapter所依靠,適配目標(接口)是Adapter的父類;基于對象的Adapter模式比較適合應用于Adapter想為Adaptee添加新的方法的情況。但在Adaptee類的方法與Adapter類的方法不同名而實現相同功能的情況下,我們一般也使用基于對象的Adapter模式,在J2SE事件處理中,我們就大量使用了基于對象的Adapter模式。

  2.J2SE中的事件處理

  J2SE中的事件處理代碼示例如下:

public class WebFormDesigner extends JFrame {
 void jbInit() throws Exception {
  text.addActionListener(new WebFormDesigner_text_actionAdapter(this));
 }

 void text_actionPerformed(ActionEvent e) {
  TextDialog createText = new TextDialog();
  createText.setVisible(true);
  createText.setTitle("TEXT");
  createText.setBounds(100, 100, 500, 300);
  createText.setModal(true);
  createText.show();
 }
}

class WebFormDesigner_text_actionAdapter implements java.awt.event.ActionListener {
 WebFormDesigner adaptee;
 WebFormDesigner_text_actionAdapter(WebFormDesigner adaptee) {
  this.adaptee = adaptee;
 }

public void actionPerformed(ActionEvent e) {
 adaptee.text_actionPerformed(e);
}

}
  在實際編程時,text_actionPerformed方法由程序員自己實現(彈出新的對話框),而WebFormDesigner_text_actionAdapter類是由開發環境依據基于對象的Adapter模式自動生成的。

  3.Adapter模式與代碼分析

  由上面的分析可見,WebFormDesigner在本例中是Adaptee, WebFormDesigner_text_actionAdapter在本例中是Adapter, java.awt.event.ActionListener在本例中是適配目標。

  適配目標為一接口,代碼如下:

public interface ActionListener extends EventListener {

/**
* Invoked when an action occurs.
*/
public void actionPerformed(ActionEvent e);
}
  適配目標中只有一個方法:actionPerformed()。由于WebFormDesigner_text_actionAdapter 實現了java.awt.event.ActionListener,所以要求實現actionPerformed()方法。

  WebFormDesigner_text_actionAdapter實現actionPerformed()方法是引用了WebFormDesigner這個adaptee而完成的。從代碼中可以看出,WebFormDesigner是WebFormDesigner_text_actionAdapter的方法的參數,所以WebFormDesigner_text_actionAdapter依靠WebFormDesigner。

  Adaptee類(WebFormDesigner)的方法(text_actionPerformed)與Adapter類(WebFormDesigner_text_actionAdapte)的方法(actionPerformed)不同名而實現相同功能,這就是我們上面分析的基于對象的Adapter模式。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永久免费在线观看av | 九九热九九爱 | 国产成人在线播放视频 | 嫩呦国产一区二区三区av | 91精品国产日韩91久久久久久360 | 91精品国产刺激国语对白 | 国产精品一区二区x88av | 欧美成人精品h版在线观看 国产一级淫片在线观看 | 久久在现视频 | 精品久久一区二区 | 国产精品wwww | 中文字幕在线亚洲 | www.91操| 久久久国产精品成人免费 | 国产黄色网页 | 欧美一级毛片大片免费播放 | 4p嗯啊巨肉寝室调教男男视频 | 日本a在线观看 | 欧美精品成人一区二区在线观看 | 青久草视频| av在线免费网 | 亚洲精品 在线播放 | 特片网久久 | 免费视频www在线观看 | 91黄瓜视频 | 欧洲色阁中文字幕 | 欧洲狠狠鲁 | 欧美精品成人一区二区三区四区 | 成人福利视频在 | 久久亚洲精品视频 | 日韩午夜一区二区三区 | 国产一级aa大片毛片 | 国产一区二区免费在线观看视频 | 色综合久久久久久久久久 | 黑人日比 | 九九精品在线观看视频 | 1级黄色毛片 | 911精品影院在线观看 | 人禽l交免费视频观看 视频 | 在线成人www免费观看视频 | av免费在线免费观看 |