@Override public GraphicsDevice getGraphicsDevice() { CGraphicsEnvironment ge = (CGraphicsEnvironment)GraphicsEnvironment. getLocalGraphicsEnvironment(); LWLightweightFramePeer peer = (LWLightweightFramePeer)getPeer(); int scale = ((LightweightFrame)peer.getTarget()).getScaleFactor(); Rectangle bounds = ((LightweightFrame)peer.getTarget()).getHostBounds(); for (GraphicsDevice d : ge.getScreenDevices()) { if (d.getDefaultConfiguration().getBounds().intersects(bounds) && ((CGraphicsDevice)d).getScaleFactor() == scale) { return d; } } // We shouldn't be here... return ge.getDefaultScreenDevice(); }
@Override public GraphicsDevice getGraphicsDevice() { CGraphicsEnvironment ge = (CGraphicsEnvironment)GraphicsEnvironment. getLocalGraphicsEnvironment(); LWLightweightFramePeer peer = (LWLightweightFramePeer)getPeer(); int scale =(int) Math.round(((LightweightFrame)peer.getTarget()) .getScaleFactorX()); Rectangle bounds = ((LightweightFrame)peer.getTarget()).getHostBounds(); for (GraphicsDevice d : ge.getScreenDevices()) { if (d.getDefaultConfiguration().getBounds().intersects(bounds) && ((CGraphicsDevice)d).getScaleFactor() == scale) { return d; } } // We shouldn't be here... return ge.getDefaultScreenDevice(); }
public GraphicsDevice getGraphicsDevice() { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); CGraphicsEnvironment cge = (CGraphicsEnvironment)ge; int displayID = nativeGetNSViewDisplayID(getAWTView()); GraphicsDevice gd = cge.getScreenDevice(displayID); if (gd == null) { // this could possibly happen during device removal // use the default screen device in this case gd = ge.getDefaultScreenDevice(); } return gd; }
public GraphicsDevice getGraphicsDevice() { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); CGraphicsEnvironment cge = (CGraphicsEnvironment)ge; AtomicInteger ref = new AtomicInteger(); execute(ptr -> { ref.set(nativeGetNSViewDisplayID(ptr)); }); GraphicsDevice gd = cge.getScreenDevice(ref.get()); if (gd == null) { // this could possibly happen during device removal // use the default screen device in this case gd = ge.getDefaultScreenDevice(); } return gd; }