大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java零基礎入門編程:GUI事件處理

Java零基礎入門編程:GUI事件處理

更新時間:2019-09-11 10:20:57 來源:動力節點 瀏覽2712次



  今天講一下JavaGUI中的事件處理。


  圖形用戶界面系統借助事件驅動模式處理所有用戶交互。用戶執行一個操作,如移動鼠標,單擊鼠標按鈕,按下鍵盤上的某個鍵,釋放鍵盤鍵等。所有這些操作都將生成某種類型的事件。在Java中,每一個執行的操作都是一個事件。


  處理這些事件的方式取決于應用程序的類型。一些事件由“抽象窗口操作工具包(AWT)”或者執行這些應用程序的環境來處理。如瀏覽器或者Applet小程序。有一些事件需要調用此處理程序。


  監聽器


  事件處理模型是一個過程,即應用程序允許使用稱為監聽器的對象注冊到處理程序的過程。當發生適當的事件時,將自動通知這些注冊過監聽器,某個動作被觸發了。

image.png

  事件監聽程序即監聽器監聽由對象發生的特定事件。這個過程將依次調用處理事件的方法,即事件處理程序。每一個事件監聽程序將提供了處理這些事件的方法。


  簡單來說,監聽器是個接口,如果你想監聽組件的某一動作,比如鼠標點擊,按鈕按下這些事件,你就要實現鼠標監聽器,或者按鈕監聽器等這樣的接口,然后再把這個實現了接口的對象注冊到要監聽的組件上。


  對按鈕事件的處理


  只要鼠標在某個按鈕上單擊,就會生成一個事件。


  看下面的例子


  Buttonbutton=newButton("確定");


  button.addActionListener(newActionListener(){


  publicvoidactionPerformed(ActionEvente){


  JOptionPane.showMessageDialog(null,"你點擊了按鈕");


  }


  });


  Button是確定按鈕,我們調用Button的addActionListener方法給它添加了一個點擊事件監聽器。


  AddActionListener方法接受一個參數,這個參數是一個ActionListener對象。由于ActionListener是個接口,因為要實現這個接口的類作為參數。ActionListener接口只有一個方法需要實現,actionPerformed(ActionEvente)這個方法將在按鈕按下的時候發生。將傳遞一個事件對象ActionEvent。


  我們在這里用到了匿名類的寫法,即不使用對象引用,直接實例化一個類對象來實現ActionListener接口。一般實現事件處理用匿名類比較方便,大家可以熟悉一下這樣的寫法。


  以上的代碼等同于:


  Buttonbutton=newButton("確定");


  MyActionListeneral=newMyActionListener();


  button.addActionListener(al);


  classMyActionListenerimplementsActionListener{


  publicvoidactionPerformed(ActionEvente){


  JOptionPane.showMessageDialog(null,"你點擊了按鈕");


  }


  }


  鼠標事件


  Java語言支持用戶通過鼠標與應用程序進行交互。程序可以檢測鼠標并對鼠標操作中發生的變化作出反應。。鼠標事件通過MouseListener接口處理,并通過如下方法對事件反應。


  mouseClicked:點擊事件,當點擊和釋放鼠標按鈕時處理此事件。


  mouseEntered:當鼠標進入一個組件時處理此事件。


  mouseExitied:當鼠標離開組件時處理此事件。


  mousePressed:當鼠標按下時處理此事件。


  mouseReleased:當鼠標釋放時處理此事件。


  例子,我們來寫個程序,當鼠標進入窗體時提示鼠標進入,離開時提示鼠標離開


  publicclassMouseEventDemoextendsFrameimplementsMouseListener{


  privatePanelpanel=newPanel();


  privateLabellabel;


  publicMouseEventDemo(){


  setBounds(100,100,300,300);


  add(panel);


  label=newLabel("Newlabel");


  panel.add(label);


  panel.addMouseListener(this);


  }


  privatestaticfinallongserialVersionUID=5563848995118514763L;


  @Override


  publicvoidmouseClicked(MouseEvente){


  label.setText("你點擊了鼠標");


  }


  @Override


  publicvoidmousePressed(MouseEvente){


  label.setText("你按下了鼠標");


  }


  @Override


  publicvoidmouseReleased(MouseEvente){


  label.setText("你釋放了鼠標鍵");


  }


  @Override


  publicvoidmouseEntered(MouseEvente){


  label.setText("鼠標進入");


  }


  @Override


  publicvoidmouseExited(MouseEvente){


  label.setText("鼠標退出");


  }


  publicstaticvoidmain(String[]args){


  MouseEventDemodemo=newMouseEventDemo();


  demo.setVisible(true);


  }


  }

image.png

  總結:


  要理解AWT對于事件處理的機制


  掌握常見的事件處理類


  熟悉匿名類的寫法


  以上就是動力Java培訓機構小編介紹的“Java零基礎入門編程:GUI事件處理”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。



提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 2020国产免费久久精品99 | 国产99欧美精品久久精品久久 | 91视频免费入口 | 能免费看黄的网站 | 视频一区欧美 | 性一级录像 | 一级韩国aa毛片免费观看 | 中国大陆一级毛片 | 欧美成人高清 | 中文字幕日本在线 | 伊人久久综合谁合综合久久 | 最新视频 - 88av | 人人天天夜夜 | 欧美日韩亚毛片免费观看 | 青青青青久久国产片免费精品 | 久青草国产在线视频亚瑟影视 | 四虎免费影院4hu永久免费 | 2020久久精品国产免费 | 免费播放毛片 | 国产美女流白浆的免费视 | 国产成人精品曰本亚洲77美色 | 国产成人免费高清视频 | 精品煌色视频网站在线观看 | 亚洲午夜一区二区三区 | 国产成人免费a在线视频色戒 | 国产精品久久久久影视青草 | 99在线免费观看视频 | 国产精品手机网站 | 四虎最新免费网址 | 久久网免费 | 久热99这里只有精品视频6 | 日本欧美一区二区三区乱码 | 99久久香蕉国产线看观香 | 色综合久久久久综合99 | 国产一区二区精品久久小说 | 久久久久久综合对白国产 | 久久91精品国产91久久 | 成人欧美一区二区三区视频 | 成人网中文字幕色 | 黄片毛片免费观看 | 香蕉视频国产在线观看 |