我在组件上有一个Java MouseListener来检测鼠标的按下。我如何
知道鼠标按下发生在哪个监视器上?
@Override
public void mousePressed(MouseEvent e) {
// I want to make something happen on the monitor the user clicked in
}
我想要达到的效果是:当用户在
我的应用程序中按下鼠标按钮时,弹出窗口会显示一些信息,直到释放鼠标为止。我想
确保此窗口位于用户单击的位置,但是我需要调整
窗口在当前屏幕上的位置,以便整个窗口
可见。
您可以从java.awt.GraphicsEnvironment
获取显示信息。您可以使用它来获取有关本地系统的信息。包括
每个监视器的范围。
Point point = event.getPoint();
GraphicsEnvironment e
= GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] devices = e.getScreenDevices();
Rectangle displayBounds = null;
//now get the configurations for each device
for (GraphicsDevice device: devices) {
GraphicsConfiguration[] configurations =
device.getConfigurations();
for (GraphicsConfiguration config: configurations) {
Rectangle gcBounds = config.getBounds();
if(gcBounds.contains(point)) {
displayBounds = gcBounds;
}
}
}
if(displayBounds == null) {
//not found, get the bounds for the default display
GraphicsDevice device = e.getDefaultScreenDevice();
displayBounds =device.getDefaultConfiguration().getBounds();
}
//do something with the bounds
...
问题内容: 对于Java对象,有没有办法告诉哪个线程(或null)当前 拥有其监视器?或者至少是一种方法来判断当前线程是否拥有它? 问题答案: 我自己找到了一些答案。要测试当前线程是否拥有 监视器,是否 存在! exists! 这确实非常快(亚微秒),并且从1.4开始就可用。 通常,要测试哪个线程(或线程ID)持有该锁,可以 对 classes (thanks @amicngh). 有一些注意事项
问题内容: 有谁知道如何设置可触发PMU通过以下方式监视多个(类型)事件的结构? 像一样,它具有两种不同的事件类型(PERF_TYPE_HARDWARE和PERF_TYPE_SOFTWARE),但是在perf_event_open的联机帮助页上的示例中,只能分配单个值。 任何建议将不胜感激,谢谢! 20170208更新 感谢@gudok为我指明方向,但结果似乎有些异常。如下所示的演示程序(用于测量
我感觉不到菜单项的点击。我需要创建一个行,当'Road'menuItem是在创建菜单上点击,但什么都没有发生,当我点击它。 而这是我将在鼠标侦听器中使用它的对象来创建行的类。
我正在尝试确定在一个等距2D游戏中鼠标位于哪个精灵上方。我认为我的最佳选择是将每个精灵绘制成不同的颜色,并将其转换为纹理2D,此时我可以从鼠标点获取颜色数据,并对照绘制的精灵进行检查。 但是,这种方法存在的问题是,我无法将单个精灵的颜色更改为纯色。如果我更改了spriteBatch中的颜色。绘制调用,它只着色精灵的颜色,而不是以纯色绘制,因此我从纹理中检索的数据没有帮助。 在用纯色绘制这些精灵方面
本节,我们将进入Events类的重点部分:定义区域,并为它们添加事件监听器。我们将绘制一个三角形,并附加mouseout和mousemove事件,再绘制一个矩形,没有事件监听器,最后绘制一个圆形,并附加mouseover、mouseout、 mousedown和mouseup来测试Events所支持的每一个桌面事件。 图6-2 添加鼠标事件监听器 操作步骤 按照以下步骤,绘制一个三角形、一个矩形和
在本章中,我们将详细介绍鼠标事件及其属性。 请注意:此类事件不仅可能来自于“鼠标设备”,还可能来自于对此类操作进行了模拟以实现兼容性的其他设备,例如手机和平板电脑。 鼠标事件类型 我们已经见过了其中一些事件: mousedown/mouseup 在元素上点击/释放鼠标按钮。 mouseover/mouseout 鼠标指针从一个元素上移入/移出。 mousemove 鼠标在元素上的每个移动都会触发此