日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
JavaSwing事件處理方法

Swing是目前Java中不可缺少的窗口工具組,是用戶(hù)建立圖形化用戶(hù)界面(GUI)程序的強(qiáng)大工具。Java Swing組件自動(dòng)產(chǎn)生各種事件來(lái)響應(yīng)用戶(hù)行為。如當(dāng)用戶(hù)點(diǎn)擊按鈕或選擇菜單項(xiàng)目時(shí),Swing組件會(huì)產(chǎn)生一個(gè)ActionEvent。Swing組件會(huì)產(chǎn)生許多事件,如ActionEvents,ChangeEvents,ItemEvents等,來(lái)響應(yīng)用戶(hù)的鼠標(biāo)點(diǎn)擊行為,列表框中值的改變,計(jì)時(shí)器的開(kāi)始計(jì)時(shí)等行為。在Java Swing編程中,通過(guò)注冊(cè)監(jiān)聽(tīng)器,我們可以監(jiān)聽(tīng)事件源產(chǎn)生的事件,從而在事件處理程序中處理我們所需要處理的用戶(hù)行為。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)推出新沂免費(fèi)做網(wǎng)站回饋大家。

Java Swing中處理各組件事件的一般步驟是:

1. 新建一個(gè)組件(如JButton)。

2. 將該組件添加到相應(yīng)的面板(如JPanel)。

3. 注冊(cè)監(jiān)聽(tīng)器以監(jiān)聽(tīng)事件源產(chǎn)生的事件(如通過(guò)ActionListener來(lái)響應(yīng)用戶(hù)點(diǎn)擊按鈕)。

4. 定義處理事件的方法(如在ActionListener中的actionPerformed中定義相應(yīng)方法)。

我們可以用多種方法實(shí)現(xiàn)。但人們通常用二種方法。第一種方法是只利用一個(gè)監(jiān)聽(tīng)器以及多個(gè)if語(yǔ)句來(lái)決定是哪個(gè)組件產(chǎn)生的事件;第二種方法是使用多個(gè)內(nèi)部類(lèi)來(lái)響應(yīng)不同組件產(chǎn)生的各種事件,其具體實(shí)現(xiàn)又分兩種方式,一種是匿名內(nèi)部類(lèi),一種是一般內(nèi)部類(lèi)。

為了說(shuō)明如何使用上述方法實(shí)現(xiàn)事件的處理方法,我們建立一個(gè)簡(jiǎn)單的應(yīng)用程序。該程序界面有兩個(gè)按鈕,當(dāng)用戶(hù)點(diǎn)擊相應(yīng)的按鈕,就會(huì)彈出一個(gè)對(duì)話框顯示相應(yīng)的內(nèi)容。通過(guò)這個(gè)簡(jiǎn)單程序,你可以實(shí)現(xiàn)自己更多、更復(fù)雜的用戶(hù)界面程序。

首先,我們利用單個(gè)監(jiān)聽(tīng)器來(lái)實(shí)現(xiàn)該程序。我們定義一個(gè)名為Simple1的類(lèi)來(lái)包括所有代碼。所有的用戶(hù)行為(如點(diǎn)擊按鈕)由一個(gè)監(jiān)聽(tīng)器SimpleListenner中的actionPerformed方法來(lái)處理。以下是代碼:

 
 
 
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. public class Simple3
  5. {
  6. private static JFrame frame; // 定義為靜態(tài)變量以便main使用
  7. private static JPanel myPanel; // 該面板用來(lái)放置按鈕組件
  8. private JButton button1; // 這里定義按鈕組件
  9. private JButton button2; // 以便讓ActionListener使用
  10. // 利用一般內(nèi)部類(lèi)來(lái)監(jiān)聽(tīng)每一個(gè)事件源產(chǎn)生的事件如(button1, button2)
  11. private class Button1Handler implements ActionListener
  12. {
  13. public void actionPerformed(ActionEvent e)
  14. {
  15. JOptionPane.showMessageDialog(frame,
  16. "按鈕1 被點(diǎn)擊");
  17. }
  18. }
  19. private class Button2Handler implements ActionListener
  20. {
  21. public void actionPerformed(ActionEvent e)
  22. {
  23. JOptionPane.showMessageDialog(frame,
  24. "按鈕2 被點(diǎn)擊");
  25. }
  26. }
  27. public Simple3() // // 構(gòu)造器, 建立圖形界面
  28. {
  29. // 新建面板
  30. myPanel = new JPanel();
  31. // 新建按鈕
  32. button1 = new JButton("按鈕1"); // 新建按鈕1
  33. button2 = new JButton("按鈕2");
  34. // 對(duì)每一個(gè)組件注冊(cè)監(jiān)聽(tīng)內(nèi)部類(lèi)
  35. button1.addActionListener(new Button1Handler());
  36. button2.addActionListener(new Button2Handler());
  37. myPanel.add(button1); // 添加按鈕到面板
  38. myPanel.add(button2);
  39. }
  40. public static void main(String s[])
  41. {
  42. Simple3 gui = new Simple3(); // 新建Simple3組件
  43. frame = new JFrame("Simple3"); // 新建JFrame
  44. // 處理關(guān)閉事件的通常方法
  45. frame.addWindowListener(new WindowAdapter() {
  46. public void windowClosing(WindowEvent e)
  47. {System.exit(0);} });
  48. frame.getContentPane().add(myPanel);
  49. frame.pack();
  50. frame.setVisible(true);
  51. }
  52. }

以上分析了在Java Swing中事件的處理方式,其中利用一般內(nèi)部類(lèi)來(lái)實(shí)現(xiàn)的方法,從代碼書(shū)寫(xiě)、閱讀、維護(hù)以及程序的可擴(kuò)展性角度來(lái)看,最為值得推薦供大家使用。


名稱(chēng)欄目:JavaSwing事件處理方法
網(wǎng)址分享:http://www.dlmjj.cn/article/cdieoph.html