草庐IT

Mouseevent

全部标签

java - 如何允许调度鼠标事件以禁用节点?

在fx中,不会将mouseEvents分派(dispatch)到禁用的节点,最后是一个演示行为的快速示例。对于像我这样的Swinger,这有点令人惊讶:在我的领域,事件已交付,目标(ui-delegate)的任务是决定是否应处理事件。事实上,最近-完全有效的IMO-use-caseofshowingatooltipoveradisabledcomponent指出了这一点从技术上讲,调度似乎在Node的一种实现方法中被切断了:/***Findsatop-mostchildnodethatintersectsthegivenray.**Theresultargumentisusedfors

Java Swing为一组按钮添加鼠标监听器(内部类)导致故障

好的,所以我要构建的程序很简单。有五个按钮,名称从0到4。如果按下其中任何一个按钮,那么控制台将打印数字0到4。我使用GridLayout将按钮放置在框架中。为了设置每个按钮,我创建了一个方法inicializarIG()。此inicializarIG()方法创建一个包含5个按钮的数组,并在for循环中执行以下操作:为按钮数组中的每个单元格创建一个按钮实例。为每个按钮设置一个mouseListener。每个Listener中要打印的值是不同的,它由循环的索引决定(我想通过使用索引来实现!)。将按钮添加到主框架。令人惊讶的是,这个简单的程序无法正常工作。无论按下什么按钮,它总是打印数字“

java - Swing 不会在鼠标滚轮事件后正确触发 mouseEntered/mouseExited?

我遇到一个问题,Swing(在Java1.6和Windows中)似乎没有按照我希望的方式触发mouseEntered和mouseExited事件。我有一个应用程序,我希望在JScrollPane中垂直堆叠多个JPanel,并且当鼠标悬停在它们上面时,它们应该以不同的颜色突出显示。问题很简单,但每当我使用鼠标滚轮滚动时,它的行为都不太正常。我制作了一个示例应用程序来说明我的问题(代码如下)。下面的图片来自那个应用程序,而不是“真正的”应用程序。当我将鼠标光标悬停在面板的边缘时,它会正确突出显示。现在,当我使用鼠标滚轮向下滚动时,我希望光标位于框B上,并触发适当的mouseEntered/

java - swing 鼠标监听器被子组件拦截

我有一个包含多个子组件的Swing组件。如果鼠标位于这些组件中的任何一个上,我想做的是更改一些标签,然后如果鼠标移开所有组件,则将其更改为其他标签。我试图找到一种更有效的方法来做到这一点。目前我在所有看起来像这样的子组件上都有鼠标监听器:classAMouseListenerextendsMouseAdapter{privatebooleanmouseOver;mouseEntered(MouseEvente){mouseOver=true;updateLabel();}mouseExited(MouseEvente){mouseOver=false;updateLabel();}vo

java - 如何在 JOptionPane 的确定按钮上添加监听器?

这个问题在这里已经有了答案:JavaDialog-FindoutifOKisclicked?(4个答案)关闭6年前。如何在单击JOptionPane.INFORMATION_MESSAGE的“确定”按钮时添加监听器。我的JOptionPane是:JOptionPane.showMessageDialog(null,"Yourpasswordis:"+password,"YourPassword",JOptionPane.INFORMATION_MESSAGE);

java - 调度鼠标事件

有没有办法派发MouseEvent,与dispatchKeyEvent一样,使用KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(listener);发生在事件传输到组件之前?我知道我有两个选择1)向所有组件递归添加鼠标事件2)使用透明玻璃板Java是否支持此功能,还是我必须使用上述选项之一?谢谢 最佳答案 您是否尝试过java.awt.Component.dispatchEvent(AWTEvent)?importjava.awt

java - 检测屏幕上的鼠标移动

我创建了一个MouseMotionDetection类,它的作用只是检测用户是否将鼠标移动到屏幕上的任何位置。为此,我在我的类构造函数中创建了一个新的JFrame,其屏幕尺寸是不可见的,所以基本上我在整个屏幕上观察鼠标运动。但是,我有一个奇怪的错误:在代码的当前形式中,一旦这个类被激活,我只检测到一个鼠标Action,没有别的,它在那之后立即停止工作。但是,如果我把将帧背景设置为0f、0f、0f、0f(透明)的行放在评论中然后激活,整个屏幕就会变成灰色,我会按照我的需要继续跟踪所有鼠标Action(我可以什么都看不到)。我真的不明白为什么会这样,周围没有看到相关问题,也没有在这个相关j

java点击鼠标画一个圆圈

我正在编写一个程序,当单击鼠标时,将绘制一个圆圈。到目前为止我写的下面的代码。importjava.awt.*;importjavax.swing.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjavax.swing.event.*;importjava.awt.geom.*;publicclasstestextendsJFrameimplemen

java - 再次使 JLabel 背景透明

我有一个JLabel,它会在鼠标进入时更改其背景颜色。我遇到的问题是我希望JLabel在鼠标退出后变得透明。有没有我可以用来完成这个的声明? 最佳答案 在德国这是一个慵懒的假期,所以结合这两个答案:finalJLabellabel=newJLabel("somelabelwithanicetext");label.setBackground(Color.YELLOW);MouseAdapteradapter=newMouseAdapter(){/***@inherited*/@OverridepublicvoidmouseEnter

java - 如何使用 Java 以编程方式将 MouseEvent 触发到 MouseListener?

我有一个JTree和一个自定义关联的MouseListener(用于显示弹出窗口等)。我需要触发MouseEvent,它将被MouseListener捕获。我应该如何以编程方式执行此操作? 最佳答案 您可以创建自己的MouseEvent并循环遍历所有监听器并进行调用。例如:MouseEventme=newMouseEvent(tree,0,0,0,100,100,1,false);for(MouseListenerml:tree.getMouseListeners()){ml.mousePressed(me);}