gpt4 book ai didi

java - 如何创建一个实现 mouseListener 的类

转载 作者:行者123 更新时间:2023-12-01 09:38:37 25 4
gpt4 key购买 nike

我想创建一个实现 mouseListener 接口(interface)的类(该类将重写所有 mouseListener 方法),而不是重写主类中的所有方法。当我尝试这样做时,出现错误。

这是我的代码:

import javax.swing.*;

public class Game {


public Game(){
JFrame frame = new JFrame();
frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addMouseListener(new MyMouseListener());

}

public static void main(String[] args) {
Game app = new Game();
}
}

MyMouseListener 代码:

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;



public class MyMouseListener implements KeyListener{

@Override
public void keyTyped(KeyEvent e) {
}

@Override
public void keyPressed(KeyEvent e) {

}

@Override
public void keyReleased(KeyEvent e) {

}


}

编辑:我知道我的问题是我在 MyMouseListener 类中实现了 keyListener 而不是 mouseListener,所以我更改了这一点,MyMouseListener 代码现在是:

public class MyMouseListener extends Game implements MouseListener{



@Override
public void mouseClicked(MouseEvent e) {
}

@Override
public void mousePressed(MouseEvent e) {

}

@Override
public void mouseReleased(MouseEvent e) {

}

@Override
public void mouseEntered(MouseEvent e) {

}

@Override
public void mouseExited(MouseEvent e) {

}


}

最佳答案

您可能遇到的问题是框架未显示,这是因为您没有告诉它显示框架,请使用以下方法:

frame.setVisible(true);

此外,正如 Jorn Vernee 所说,在您的 MyMouseListener 类中,您必须实现 MouseListener 接口(interface)而不是 KeyListener。

我尝试了这段代码,效果很好:

import javax.swing.JFrame;

public class Game {

public Game(){
JFrame frame = new JFrame();
frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addMouseListener(new MyMouseListener());
frame.setVisible(true);
}

public static void main(String[] args) {
Game app = new Game();
}
}

MyMouseListener 的代码:

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class MyMouseListener implements MouseListener{

@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("clicked");
}

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

}

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

}

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

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

}

}

关于java - 如何创建一个实现 mouseListener 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38623693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com