您好,登錄后才能下訂單哦!
本篇內容主要講解“Java中的事件監聽機制實例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java中的事件監聽機制實例分析”吧!
Java事件監聽機制在圖形界面編程的時候應用的比較多。我們會時常對界面進行一系列的操作,比如在輸入框輸入內容、點擊登錄注冊按鈕等等,著一些操作都被稱之為事件。當進行這些操作的時候,程序就會采取相應的措施來相應這些事件。
1.事件源對象
(1)什么內容可以成為事件源對象?
只有容器組件和元素組件可以成為事件源對象。
(2)怎么確定界面上誰是事件源對象?
當你的動作發生在哪一個組件上,那么這個組件就是事件源對象。
2、事件監聽方法
(1)事件監聽方法由事件源對象提供。
(2)事件監聽方法捕獲事件源對象上面的動作。如果有動作發生,則方法捕獲動作,收集源對象的信息和動作信息,然后把這些信息交給事件接口的對象進行處理。
3、事件接口(處理類)
事件接口對象拿到事件監聽方法提供的信息后,會根據這些信息,去調用相應的事件處理方法。
接下來我們通過一個簡單的實例代碼感受一下:
思路
1、構建一個窗體,再裝上一個start
按鈕。
2、定義LoginListener
事件處理類。這個類繼承了ActionListener
動作事件接口,需要重寫接口里面的抽象方法。
3、實例化LoginListener
事件處理對象。
4、給事件處理類對象添加動作監聽方法,并指定事件處理類對象。
代碼實例:
//第一步就簡單地構造一個窗體
package Login20190318;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import javax.swing.JButton;
import javax.swing.JFrame;
//Draw類繼承JFrame類 相當于Draw類就是JFrame類 直接調用JFram類中的屬性和方法
public class Draw extends JFrame
{
//入口主函數
public void initUI()
{
this.setSize(1500,600);
FlowLayout flowlayout=new FlowLayout(FlowLayout.CENTER,5,5);
this.setLayout(flowlayout);
JButton button=new JButton("Start");
this.add(button);
this.setVisible(true);
//使窗體獲得繪圖板權限
Graphics graphics=this.getGraphics();
//實例化監聽方法類 并傳入參數
DrawLis drawlis=new DrawLis(graphics);
//使按鈕button調用監聽方法
button.addActionListener(drawlis);
}
public static void main(String[] args)
{
//實例化Draw類并調用入口函數
Draw draw=new Draw();
draw.initUI();
}
}
//定義事件監聽方法的類
package Login20190318;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import java.awt.Graphics;
//實現監聽接口
public class DrawLis implements ActionListener
{
private Graphics g;
//構造方法用于傳參
public DrawLis(Graphics g)
{
this.g=g;
}
//定義監聽方法,畫一個橢圓
public void actionPerformed(ActionEvent e)
{
Random random = new Random();
int x=random.nextInt(1600);
int y=random.nextInt(1600);
g.fillOval(x,y,60,70);
}
}
到此,相信大家對“Java中的事件監聽機制實例分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。