[英]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.