首頁 - 網校 - 萬題庫 - 美好明天 - 直播 - 導航
您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > JAVA > 復習資料 > 正文

全國計算機二級Java考試入門教程:鼠標事件

來源:考試吧 2017-10-23 14:57:05 要考試,上考試吧! 萬題庫
“全國計算機二級Java考試入門教程:鼠標事件”供考生參考。更多計算機等級考試內容請訪問考試吧計算機等級考試網。

  點擊查看:全國計算機二級考試《Java》入門教程匯總

  鼠標事件的事件源往往與容器相關,當鼠標進入容器、離開容器,或者在容器中單擊鼠標、拖動鼠標時都會發(fā)生鼠標事件。java語言為處理鼠標事件提供兩個接口:MouseListener,MouseMotionListener接口。

  MouseListener接口

  MouseListener接口能處理5種鼠標事件:按下鼠標,釋放鼠標,點擊鼠標、鼠標進入、鼠標退出。相應的方法有:

  (1) getX():鼠標的X坐標

  (2) getY():鼠標的Y坐標

  (3) getModifiers():獲取鼠標的左鍵或右鍵。

  (4) getClickCount():鼠標被點擊的次數(shù)。

  (5) getSource():獲取發(fā)生鼠標的事件源。

  (6) addMouseListener(監(jiān)視器):加放監(jiān)視器。

  (7) removeMouseListener(監(jiān)視器):移去監(jiān)視器。

  要實現(xiàn)的MouseListener接口的方法有:

  (1) mousePressed(MouseEvent e);

  (2) mouseReleased(MouseEvent e);

  (3) mouseEntered(MouseEvent e);

  (4) mouseExited(MouseEvent e);

  (5) mouseClicked(MouseEvent e);

  【例 11-18】小應用程序設置了一個文本區(qū),用于記錄一系列鼠標事件。當鼠標進入小應用程序窗口時,文本區(qū)顯示“鼠標進來”;當鼠標離開 窗口時,文本區(qū)顯示“鼠標走開”;當鼠標被按下時,文本區(qū)顯示“鼠標按下”,當鼠標被雙擊時,文本區(qū)顯示“鼠標雙擊”;并顯示鼠標的坐標。程序還顯示一個紅色的圓,當點擊鼠標時,圓的半徑會不斷地變大(查看源文件)。

  任何組件上都可以發(fā)生鼠標事件:鼠標進入、鼠標退出、按下鼠標等。例如,在上述程序中添加一個按鈕,并給按鈕對象添加鼠標監(jiān)視器,將上述程序中的init()方法修改成如下形式,即能示意按鈕上的所有鼠標事件。

  JButton button;

  public void init(){

  button = new JButton(“按鈕也能發(fā)生鼠標事件”);

  r = 10;

  text = new JTextArea(15,20);

  add(button);

  add(text);

  button.addMouseListener(this);

  }

  如果程序希望進一步知道按下或點擊的是鼠標左鍵或右鍵,鼠標的左鍵或右鍵可用InputEvent類中的常量BUTTON1_MASK和BUTTON3_MASK來判定。例如,以下表達式判斷是否按下或點擊了鼠標右鍵:

  e.getModifiers()==InputEvent. BUTTON3_MASK

  MouseMotionListener接口

  MouseMotionListener接口處理拖動鼠標和鼠標移動兩種事件。

  注冊監(jiān)視器的方法是:

  addMouseMotionListener(監(jiān)視器)

  要實現(xiàn)的的接口方法有兩個:

  (1) mouseDragged(MouseEvent e)

  (2) mouseMoved(MouseEvent e)

  【例 11-19】一個滾動條與顯示窗口同步變化的應用程序。窗口有一個方塊,用鼠標拖運方塊,或用鼠標點擊窗口,方塊改變顯示位置,相應水平和垂直滾動條的滑塊也會改變它們在滾動條中的位置。反之,移動滾動條的滑塊,方塊在窗口中的顯示位置也會改變(查看源文件)。

  上述例子中,如果只要求通過滑動滑塊,改變內容的顯示位置,可以簡單地使用滾動面板JScrollPane。如果是這樣,關于滾動條的創(chuàng)建和控制都可以免去,直接由JScrollPane內部實現(xiàn)。參見以下修改后的MyWindow的定義:

  class MyWindow extends JFrame{

  public MyWindow(String s){

  super(s);

  Container con = this.getContentPane();

  con.setLayout(new BorderLayout());

  this.setLocaltion(100,100);

  MyListener listener = new MyListener();

  listener.setPreferredSize(new Dimension(700,700));

  JScrollPane scrolledCanvas = new JScrollPane(listener);

  this.add(scrolledCanvas,BorderLayout.CENTER);

  this.setVisible(true);

  this.pack();

  }

  public Dimension getPreferredSize(){

  return new Dimension(400,400);

  }

  }

  鼠標指針形狀也能由程序控制 ,setCursor()方法能設置鼠標指針形狀。例如,代碼setCursor(Cursor.getPredefinedCursor(cursor.WAIT_CURSOR))。

掃描/長按二維碼幫助考試通關
2017等考成績查詢時間
2017等考各科通關技巧
2017各科最新預測試卷
等考成績評定及管理

微信搜索"考試吧"了解更多考試資訊、下載備考資料

  相關推薦:

  【考試吧整理】計算機等級考試各科目歷年真題

  全國計算機等級考試證書體系(2018版)

  全國計算機等級考試課程、教材列表(2018版)

  全國計算機等級證書分幾級?哪個級別最高?

  各地計算機等級考試報名入口及官方網站匯總

  【考試吧整理】計算機等級考試報考完全指南

0
收藏該文章
0
收藏該文章
文章搜索
萬題庫小程序
萬題庫小程序
·章節(jié)視頻 ·章節(jié)練習
·免費真題 ·?荚囶}
微信掃碼,立即獲取!
掃碼免費使用
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
Copyright © 2004- 考試吧計算機等級考試網 出版物經營許可證新出發(fā)京批字第直170033號 
京ICP證060677 京ICP備05005269號 中國科學院研究生院權威支持(北京)
在線模擬試題
考證通關殺器
考試最新資訊
一次通關技巧