簡體   English   中英

MouseListener不起作用

[英]MouseListener doesn't work

我在嘗試使用MouseListener時遇到一些問題。 我創建了一個名為MouseManager的類,該類實現了MouseListener,然后將MouseListener導入了框架,但是當我單擊框架時,什么也沒有發生。 因此,這是MouseManager類的代碼:

public class MouseManager implements MouseListener {

@Override
public void mouseClicked(MouseEvent e) {
    int mx = e.getX();
    int my = e.getY();

    System.out.println("Clicked: " + mx + " " + my);

}

@Override
public void mouseEntered(MouseEvent arg0) {
    // TODO Auto-generated method stub

}

@Override
public void mouseExited(MouseEvent e) {
    // TODO Auto-generated method stub

}

@Override
public void mousePressed(MouseEvent e) {
    int mx = e.getX();
    int my = e.getY();

    System.out.println(mx + " " + my);

}

@Override
public void mouseReleased(MouseEvent e) {
    int mx = e.getX();
    int my = e.getY();

    System.out.println("Released: " + mx + " " + my);

}

}

然后這是我用來實現MouseManager類的代碼

MouseManager MouseMan = new MouseManager();
Window.frame.addMouseListener(MouseMan);

但是正如我之前所說,什么也沒有發生,並且控制台沒有顯示任何消息; 我試圖將窗口的可聚焦性設置為false,但它繼續無法正常工作。 對不起,我的英語不好。

您只需要在同一類中注冊事件,即通過使用

Frame objFrame = new Frame("MouseListener Demo");

objFrame.addMouseListener(this);

這里指的是當前類的實例。 您也必須制作框架的對象,因為您沒有直接擴展框架類。

然后只需調用make該對象即可完成工作。

您必須在blankArea和面板上注冊鼠標事件。 您應該在這里閱讀更多詳細信息。

這是您必須做的一部分:

public class MouseManager implements MouseListener {
    Frame frame = new Frame();
    frame.addMouseListener(this); 
    ....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM