我在组件上有一个
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 ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。