- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为我的 JPanel 编写了一个 MouseAdapter,但它表现得很奇怪,这里是代码本身,其中包含从文档中覆盖的所有可能操作。
private class MAdapter extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e){
System.out.println(e.getX()+""+e.getY());
}
@Override
public void mouseReleased(MouseEvent e){
System.out.println(e.getX()+""+e.getY());
}
@Override
public void mouseClicked(MouseEvent e){
System.out.println(e.getX()+""+e.getY());
}
@Override
public void mouseEntered(MouseEvent e){
System.out.println(e.getX()+""+e.getY());
}
@Override
public void mouseExited(MouseEvent e){
System.out.println(e.getX()+""+e.getY());
}
@Override
public void mouseWheelMoved(MouseEvent e){
System.out.println(e.getX()+""+e.getY());
}
@Override
public void mouseMoved(MouseEvent e){
System.out.println(e.getX()+""+e.getY());
}
@Override
public void mouseDragged(MouseEvent e){
System.out.println(e.getX()+""+e.getY());
}
}
问题是:它似乎只对前五个 MouseListener 操作使用react,对 MouseMotionListener 操作(后两个)没有反应,而 MouseWheelMoved 已灰显并表示它不会覆盖任何操作父类(super class)的方法。
最佳答案
MouseAdapter
是 MouseListener
、MosueWheelListener
和 MouseMotionListener
它旨在让您的生活更轻松,因为您不需要实现这些接口(interface)定义的每个方法,只是为了获得 mouseClicked
事件
您需要分别注册每种类型的实现
MAdapter ma = new MAdapter();
addMouseListener(ma);
addMouseMotionListener(ma);
addMouseWheelListener(ma);
关于Java MouseAdapter 没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31342207/
我为我的 JPanel 编写了一个 MouseAdapter,但它表现得很奇怪,这里是代码本身,其中包含从文档中覆盖的所有可能操作。 private class MAdapter extends Mo
在我制作的游戏中,我有两种不同的 mousePressed() 方法,一种用于单发射击,一种用于自动射击,如果你得到一把自动武器,它会改变 mousePressed () 方法从单发到自动开火。 稍后
为什么我不能使用MouseAdapter的mouseMoved()来获取光标位置?我想在移动鼠标时得到它并在终端中显示它。 我怎样才能做到这一点? import java.awt.event.Mous
我有一组 JPanel,我正在尝试为每个 JPanel 添加一个鼠标适配器,以便可以识别单击了哪个 JPanel,然后更改其背景颜色。一切似乎都工作正常,除了当我从 Eclipse 运行它时,会出现一
我正在尝试学习适配器类。我从我正在阅读的书中看到了一段代码。这是代码: import java.awt.*; import java.awt.event.*; import java.applet.*
如果我使用 addMouseListener 注册一个组件,然后我将一个新的 MouseAdapter 传递给它没有生成 Action 事件,因为我必须使用 addMouseMotionListene
名称(和 javadoc)暗示 MouseAdapter 是一个适配器(设计模式)。但我不这么认为——它不适应任何事物,至少乍一看是这样 唯一发生的改编是您可以将 MouseAdapter 的实例传递
我需要编写一个 Java Swing 应用程序,该应用程序将在 Linux、Windows 和 Mac 上运行并表现得大致相同。对于我创建的几乎所有小部件,我需要添加一些特殊处理,包括所有内容都需要能
我的应用程序的窗口可以通过拖动其菜单栏来移动。但是,我不明白为什么必须使用 MouseMotionAdapter() 来实现此功能。 两个类都有方法:mouseDragged(),因此我删除了Mous
我注意到了这一点(它是一个 java.awt.event 类)。 public abstract class MouseAdapter implements MouseListener,
我有一个 JLabel 数组,还有一个包含 MouseAdapter 的列表列表。这个想法是每个 JLabel 都有一个 MouseAdapter 列表。我想迭代这些列表并将 MouseAdapter
我创建了一个方法来拖动我想要的任何Component,甚至是JFrame 我使用 MouseInputAdapter 来创建函数 我使用鼠标事件和鼠标 Action 事件 public static
我正在使用 JFrame 开发一个程序,我想意识到,当您单击按钮时,其他类中的循环必须起作用。它正在工作,但速度很慢。一秒钟内您只能看到循环的一次迭代。我不明白为什么。您需要了解一些代码。调用监听器:
我目前正在尝试为名为 Carcassone 的游戏创建应用程序,但在将 JLayeredPane 与 MouseAdapters 结合使用时遇到问题。 目前我有一个 JLayeredPane,其中包含
我有一个 MouseAdapter,只需单击其背景即可拖动窗口,如下所示: public class Dragger extends MouseAdapter{ private Point offse
我有以下方法: public static void createDialog(Button b, String message) { MouseListener mouseListener
有时会执行 mousePressed 事件,但有时则不会。这似乎还取决于您按下它的时间。我怎样才能让它始终工作? 我不确定代码的哪一部分有问题,所以这是整个类: import java.awt.Col
我创建了以下小程序--> import java.awt.*; import java.awt.event.*; import java.applet.*; public class Adapting
我在我的 Java GUI 中使用 jLayeredPane。我在我的 jLayeredPane 的 DEFAULT_LAYER 上添加了一些面板 (jPanelsLayer1),而且每个 jPane
只是想知道创建需要处理鼠标点击和按键的类的最佳实践方法是什么。显然不可能在 Java 中继承多个类,所以目前我正在使用 MouseListener 和 KeyListener 接口(interface
我是一名优秀的程序员,十分优秀!