Java Code Examples for java.awt.Frame#setExtendedState()
The following examples show how to use
java.awt.Frame#setExtendedState() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: FrameMinimizeTest.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws Exception { Frame frame = new Frame("Frame Minimize Test"); Button b = new Button("Focus ownder"); frame.add("South", b); frame.pack(); frame.setVisible(true); Util.waitForIdle(null); if (!b.hasFocus()) { throw new RuntimeException("button is not a focus owner after showing :("); } frame.setExtendedState(Frame.ICONIFIED); Util.waitForIdle(null); frame.setExtendedState(Frame.NORMAL); Util.waitForIdle(null); if (!b.hasFocus()) { throw new RuntimeException("button is not a focus owner after restoring :("); } }
Example 2
Source File: FrameMinimizeTest.java From jdk8u60 with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws Exception { Frame frame = new Frame("Frame Minimize Test"); Button b = new Button("Focus ownder"); frame.add("South", b); frame.pack(); frame.setVisible(true); Util.waitForIdle(null); if (!b.hasFocus()) { throw new RuntimeException("button is not a focus owner after showing :("); } frame.setExtendedState(Frame.ICONIFIED); Util.waitForIdle(null); frame.setExtendedState(Frame.NORMAL); Util.waitForIdle(null); if (!b.hasFocus()) { throw new RuntimeException("button is not a focus owner after restoring :("); } }
Example 3
Source File: CampaignEditor.java From open-ig with GNU Lesser General Public License v3.0 | 6 votes |
/** * Load the window state from the specified XML element. * @param w the target frame * @param xml the xml element */ public static void loadWindowState(Frame w, XElement xml) { if (xml == null) { return; } int state = xml.getInt("window-state", w.getExtendedState()); if (state != JFrame.MAXIMIZED_BOTH) { int x = xml.getInt("window-x", w.getX()); int y = xml.getInt("window-y", w.getY()); int width = xml.getInt("window-width", w.getWidth()); int height = xml.getInt("window-height", w.getHeight()); w.setExtendedState(state); w.setBounds(x, y, width, height); } else { w.setExtendedState(state); } }
Example 4
Source File: MaximizedToMaximized.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { Frame frame = new Frame(); final Toolkit toolkit = Toolkit.getDefaultToolkit(); final GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); final GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); final Dimension screenSize = toolkit.getScreenSize(); final Insets screenInsets = toolkit.getScreenInsets( graphicsDevice.getDefaultConfiguration()); final Rectangle availableScreenBounds = new Rectangle(screenSize); availableScreenBounds.x += screenInsets.left; availableScreenBounds.y += screenInsets.top; availableScreenBounds.width -= (screenInsets.left + screenInsets.right); availableScreenBounds.height -= (screenInsets.top + screenInsets.bottom); frame.setBounds(availableScreenBounds.x, availableScreenBounds.y, availableScreenBounds.width, availableScreenBounds.height); frame.setVisible(true); Rectangle frameBounds = frame.getBounds(); frame.setExtendedState(Frame.MAXIMIZED_BOTH); ((SunToolkit) toolkit).realSync(); Rectangle maximizedFrameBounds = frame.getBounds(); if (maximizedFrameBounds.width < frameBounds.width || maximizedFrameBounds.height < frameBounds.height) { throw new RuntimeException("Maximized frame is smaller than non maximized"); } }
Example 5
Source File: OptionsHandler.java From JPPF with Apache License 2.0 | 5 votes |
/** * Load the specified frame state from the preferences store. * @param frame the frame for which the attributes are retrieved. * @param pref the preferences node from where the attributes are loaded. */ public static void loadFrameAttributes(final Frame frame, final Preferences pref) { final int x = pref.getInt("locationx", 0); final int y = pref.getInt("locationy", 0); final int width = pref.getInt("width", 600); final int height = pref.getInt("height", 768); frame.setSize(width, height); frame.setLocation(x, y); final boolean maximized = pref.getBoolean("maximized", false); if (maximized) frame.setExtendedState(Frame.MAXIMIZED_BOTH); }
Example 6
Source File: MaximizedToMaximized.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { Frame frame = new Frame(); final Toolkit toolkit = Toolkit.getDefaultToolkit(); final GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); final GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); final Dimension screenSize = toolkit.getScreenSize(); final Insets screenInsets = toolkit.getScreenInsets( graphicsDevice.getDefaultConfiguration()); final Rectangle availableScreenBounds = new Rectangle(screenSize); availableScreenBounds.x += screenInsets.left; availableScreenBounds.y += screenInsets.top; availableScreenBounds.width -= (screenInsets.left + screenInsets.right); availableScreenBounds.height -= (screenInsets.top + screenInsets.bottom); frame.setBounds(availableScreenBounds.x, availableScreenBounds.y, availableScreenBounds.width, availableScreenBounds.height); frame.setVisible(true); Rectangle frameBounds = frame.getBounds(); frame.setExtendedState(Frame.MAXIMIZED_BOTH); ((SunToolkit) toolkit).realSync(); Rectangle maximizedFrameBounds = frame.getBounds(); if (maximizedFrameBounds.width < frameBounds.width || maximizedFrameBounds.height < frameBounds.height) { throw new RuntimeException("Maximized frame is smaller than non maximized"); } }
Example 7
Source File: MaximizedToMaximized.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { Frame frame = new Frame(); final Toolkit toolkit = Toolkit.getDefaultToolkit(); final GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); final GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); final Dimension screenSize = toolkit.getScreenSize(); final Insets screenInsets = toolkit.getScreenInsets( graphicsDevice.getDefaultConfiguration()); final Rectangle availableScreenBounds = new Rectangle(screenSize); availableScreenBounds.x += screenInsets.left; availableScreenBounds.y += screenInsets.top; availableScreenBounds.width -= (screenInsets.left + screenInsets.right); availableScreenBounds.height -= (screenInsets.top + screenInsets.bottom); frame.setBounds(availableScreenBounds.x, availableScreenBounds.y, availableScreenBounds.width, availableScreenBounds.height); frame.setVisible(true); Rectangle frameBounds = frame.getBounds(); frame.setExtendedState(Frame.MAXIMIZED_BOTH); ((SunToolkit) toolkit).realSync(); Rectangle maximizedFrameBounds = frame.getBounds(); if (maximizedFrameBounds.width < frameBounds.width || maximizedFrameBounds.height < frameBounds.height) { throw new RuntimeException("Maximized frame is smaller than non maximized"); } }
Example 8
Source File: MaximizedToMaximized.java From TencentKona-8 with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { Frame frame = new Frame(); final Toolkit toolkit = Toolkit.getDefaultToolkit(); final GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); final GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); final Dimension screenSize = toolkit.getScreenSize(); final Insets screenInsets = toolkit.getScreenInsets( graphicsDevice.getDefaultConfiguration()); final Rectangle availableScreenBounds = new Rectangle(screenSize); availableScreenBounds.x += screenInsets.left; availableScreenBounds.y += screenInsets.top; availableScreenBounds.width -= (screenInsets.left + screenInsets.right); availableScreenBounds.height -= (screenInsets.top + screenInsets.bottom); frame.setBounds(availableScreenBounds.x, availableScreenBounds.y, availableScreenBounds.width, availableScreenBounds.height); frame.setVisible(true); Rectangle frameBounds = frame.getBounds(); frame.setExtendedState(Frame.MAXIMIZED_BOTH); ((SunToolkit) toolkit).realSync(); Rectangle maximizedFrameBounds = frame.getBounds(); if (maximizedFrameBounds.width < frameBounds.width || maximizedFrameBounds.height < frameBounds.height) { throw new RuntimeException("Maximized frame is smaller than non maximized"); } }
Example 9
Source File: Renderer.java From jaamsim with Apache License 2.0 | 5 votes |
public void focusWindow(int windowID) { final Frame awtRef = getAWTFrame(windowID); if (awtRef == null) return; awtRef.setExtendedState(Frame.NORMAL); awtRef.toFront(); }
Example 10
Source File: MaximizedToMaximized.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { Frame frame = new Frame(); final Toolkit toolkit = Toolkit.getDefaultToolkit(); final GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); final GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); final Dimension screenSize = toolkit.getScreenSize(); final Insets screenInsets = toolkit.getScreenInsets( graphicsDevice.getDefaultConfiguration()); final Rectangle availableScreenBounds = new Rectangle(screenSize); availableScreenBounds.x += screenInsets.left; availableScreenBounds.y += screenInsets.top; availableScreenBounds.width -= (screenInsets.left + screenInsets.right); availableScreenBounds.height -= (screenInsets.top + screenInsets.bottom); frame.setBounds(availableScreenBounds.x, availableScreenBounds.y, availableScreenBounds.width, availableScreenBounds.height); frame.setVisible(true); Rectangle frameBounds = frame.getBounds(); frame.setExtendedState(Frame.MAXIMIZED_BOTH); ((SunToolkit) toolkit).realSync(); Rectangle maximizedFrameBounds = frame.getBounds(); if (maximizedFrameBounds.width < frameBounds.width || maximizedFrameBounds.height < frameBounds.height) { throw new RuntimeException("Maximized frame is smaller than non maximized"); } }
Example 11
Source File: MaximizedToMaximized.java From dragonwell8_jdk with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { Frame frame = new Frame(); final Toolkit toolkit = Toolkit.getDefaultToolkit(); final GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); final GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); final Dimension screenSize = toolkit.getScreenSize(); final Insets screenInsets = toolkit.getScreenInsets( graphicsDevice.getDefaultConfiguration()); final Rectangle availableScreenBounds = new Rectangle(screenSize); availableScreenBounds.x += screenInsets.left; availableScreenBounds.y += screenInsets.top; availableScreenBounds.width -= (screenInsets.left + screenInsets.right); availableScreenBounds.height -= (screenInsets.top + screenInsets.bottom); frame.setBounds(availableScreenBounds.x, availableScreenBounds.y, availableScreenBounds.width, availableScreenBounds.height); frame.setVisible(true); Rectangle frameBounds = frame.getBounds(); frame.setExtendedState(Frame.MAXIMIZED_BOTH); ((SunToolkit) toolkit).realSync(); Rectangle maximizedFrameBounds = frame.getBounds(); if (maximizedFrameBounds.width < frameBounds.width || maximizedFrameBounds.height < frameBounds.height) { throw new RuntimeException("Maximized frame is smaller than non maximized"); } }
Example 12
Source File: BETitlePane.java From beautyeye with Apache License 2.0 | 5 votes |
/** * Iconifies the Frame. */ private void iconify() { Frame frame = getFrame(); if (frame != null) { frame.setExtendedState(state | Frame.ICONIFIED); } }
Example 13
Source File: MaximizedToMaximized.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { Frame frame = new Frame(); final Toolkit toolkit = Toolkit.getDefaultToolkit(); final GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); final GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); final Dimension screenSize = toolkit.getScreenSize(); final Insets screenInsets = toolkit.getScreenInsets( graphicsDevice.getDefaultConfiguration()); final Rectangle availableScreenBounds = new Rectangle(screenSize); availableScreenBounds.x += screenInsets.left; availableScreenBounds.y += screenInsets.top; availableScreenBounds.width -= (screenInsets.left + screenInsets.right); availableScreenBounds.height -= (screenInsets.top + screenInsets.bottom); frame.setBounds(availableScreenBounds.x, availableScreenBounds.y, availableScreenBounds.width, availableScreenBounds.height); frame.setVisible(true); Rectangle frameBounds = frame.getBounds(); frame.setExtendedState(Frame.MAXIMIZED_BOTH); ((SunToolkit) toolkit).realSync(); Rectangle maximizedFrameBounds = frame.getBounds(); if (maximizedFrameBounds.width < frameBounds.width || maximizedFrameBounds.height < frameBounds.height) { throw new RuntimeException("Maximized frame is smaller than non maximized"); } }
Example 14
Source File: MaximizedToMaximized.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { Frame frame = new Frame(); final Toolkit toolkit = Toolkit.getDefaultToolkit(); final GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); final GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); final Dimension screenSize = toolkit.getScreenSize(); final Insets screenInsets = toolkit.getScreenInsets( graphicsDevice.getDefaultConfiguration()); final Rectangle availableScreenBounds = new Rectangle(screenSize); availableScreenBounds.x += screenInsets.left; availableScreenBounds.y += screenInsets.top; availableScreenBounds.width -= (screenInsets.left + screenInsets.right); availableScreenBounds.height -= (screenInsets.top + screenInsets.bottom); frame.setBounds(availableScreenBounds.x, availableScreenBounds.y, availableScreenBounds.width, availableScreenBounds.height); frame.setVisible(true); Rectangle frameBounds = frame.getBounds(); frame.setExtendedState(Frame.MAXIMIZED_BOTH); ((SunToolkit) toolkit).realSync(); Rectangle maximizedFrameBounds = frame.getBounds(); if (maximizedFrameBounds.width < frameBounds.width || maximizedFrameBounds.height < frameBounds.height) { throw new RuntimeException("Maximized frame is smaller than non maximized"); } }
Example 15
Source File: MaximizedToMaximized.java From hottub with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { Frame frame = new Frame(); final Toolkit toolkit = Toolkit.getDefaultToolkit(); final GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); final GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); final Dimension screenSize = toolkit.getScreenSize(); final Insets screenInsets = toolkit.getScreenInsets( graphicsDevice.getDefaultConfiguration()); final Rectangle availableScreenBounds = new Rectangle(screenSize); availableScreenBounds.x += screenInsets.left; availableScreenBounds.y += screenInsets.top; availableScreenBounds.width -= (screenInsets.left + screenInsets.right); availableScreenBounds.height -= (screenInsets.top + screenInsets.bottom); frame.setBounds(availableScreenBounds.x, availableScreenBounds.y, availableScreenBounds.width, availableScreenBounds.height); frame.setVisible(true); Rectangle frameBounds = frame.getBounds(); frame.setExtendedState(Frame.MAXIMIZED_BOTH); ((SunToolkit) toolkit).realSync(); Rectangle maximizedFrameBounds = frame.getBounds(); if (maximizedFrameBounds.width < frameBounds.width || maximizedFrameBounds.height < frameBounds.height) { throw new RuntimeException("Maximized frame is smaller than non maximized"); } }
Example 16
Source File: NormalToIconifiedTest.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) { Robot robot = Util.createRobot(); Frame testFrame = new Frame("Test Frame"); testFrame.setSize(200, 200); testFrame.addWindowStateListener(new WindowStateListener() { @Override public void windowStateChanged(WindowEvent e) { listenerNotified.set(true); synchronized (listenerNotified) { listenerNotified.notifyAll(); } } }); testFrame.setVisible(true); Frame mainFrame = new Frame("Main Frame"); mainFrame.setSize(200, 200); mainFrame.setLocationRelativeTo(null); mainFrame.setVisible(true); Util.waitForIdle(robot); try { Util.clickOnComp(mainFrame, robot); Util.waitForIdle(robot); // NORMAL -> ICONIFIED listenerNotified.set(false); testFrame.setExtendedState(Frame.ICONIFIED); Util.waitForIdle(robot); Util.waitForCondition(listenerNotified, 2000); if (!listenerNotified.get()) { throw new RuntimeException("Test FAILED! Window state listener was not notified during NORMAL to" + "ICONIFIED transition"); } if (testFrame.getExtendedState() != Frame.ICONIFIED) { throw new RuntimeException("Test FAILED! Frame is not in ICONIFIED state"); } // ICONIFIED -> NORMAL listenerNotified.set(false); testFrame.setExtendedState(Frame.NORMAL); Util.waitForIdle(robot); Util.waitForCondition(listenerNotified, 2000); if (!listenerNotified.get()) { throw new RuntimeException("Test FAILED! Window state listener was not notified during ICONIFIED to" + "NORMAL transition"); } if (testFrame.getExtendedState() != Frame.NORMAL) { throw new RuntimeException("Test FAILED! Frame is not in NORMAL state"); } } finally { testFrame.dispose(); mainFrame.dispose(); } }
Example 17
Source File: NormalToIconifiedTest.java From jdk8u_jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) { Robot robot = Util.createRobot(); Frame testFrame = new Frame("Test Frame"); testFrame.setSize(200, 200); testFrame.addWindowStateListener(new WindowStateListener() { @Override public void windowStateChanged(WindowEvent e) { listenerNotified.set(true); synchronized (listenerNotified) { listenerNotified.notifyAll(); } } }); testFrame.setVisible(true); Frame mainFrame = new Frame("Main Frame"); mainFrame.setSize(200, 200); mainFrame.setLocationRelativeTo(null); mainFrame.setVisible(true); Util.waitForIdle(robot); try { Util.clickOnComp(mainFrame, robot); Util.waitForIdle(robot); // NORMAL -> ICONIFIED listenerNotified.set(false); testFrame.setExtendedState(Frame.ICONIFIED); Util.waitForIdle(robot); Util.waitForCondition(listenerNotified, 2000); if (!listenerNotified.get()) { throw new RuntimeException("Test FAILED! Window state listener was not notified during NORMAL to" + "ICONIFIED transition"); } if (testFrame.getExtendedState() != Frame.ICONIFIED) { throw new RuntimeException("Test FAILED! Frame is not in ICONIFIED state"); } // ICONIFIED -> NORMAL listenerNotified.set(false); testFrame.setExtendedState(Frame.NORMAL); Util.waitForIdle(robot); Util.waitForCondition(listenerNotified, 2000); if (!listenerNotified.get()) { throw new RuntimeException("Test FAILED! Window state listener was not notified during ICONIFIED to" + "NORMAL transition"); } if (testFrame.getExtendedState() != Frame.NORMAL) { throw new RuntimeException("Test FAILED! Frame is not in NORMAL state"); } } finally { testFrame.dispose(); mainFrame.dispose(); } }
Example 18
Source File: NormalToIconifiedTest.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) { Robot robot = Util.createRobot(); Frame testFrame = new Frame("Test Frame"); testFrame.setSize(200, 200); testFrame.addWindowStateListener(new WindowStateListener() { @Override public void windowStateChanged(WindowEvent e) { listenerNotified.set(true); synchronized (listenerNotified) { listenerNotified.notifyAll(); } } }); testFrame.setVisible(true); Frame mainFrame = new Frame("Main Frame"); mainFrame.setSize(200, 200); mainFrame.setLocationRelativeTo(null); mainFrame.setVisible(true); Util.waitForIdle(robot); try { Util.clickOnComp(mainFrame, robot); Util.waitForIdle(robot); // NORMAL -> ICONIFIED listenerNotified.set(false); testFrame.setExtendedState(Frame.ICONIFIED); Util.waitForIdle(robot); Util.waitForCondition(listenerNotified, 2000); if (!listenerNotified.get()) { throw new RuntimeException("Test FAILED! Window state listener was not notified during NORMAL to" + "ICONIFIED transition"); } if (testFrame.getExtendedState() != Frame.ICONIFIED) { throw new RuntimeException("Test FAILED! Frame is not in ICONIFIED state"); } // ICONIFIED -> NORMAL listenerNotified.set(false); testFrame.setExtendedState(Frame.NORMAL); Util.waitForIdle(robot); Util.waitForCondition(listenerNotified, 2000); if (!listenerNotified.get()) { throw new RuntimeException("Test FAILED! Window state listener was not notified during ICONIFIED to" + "NORMAL transition"); } if (testFrame.getExtendedState() != Frame.NORMAL) { throw new RuntimeException("Test FAILED! Frame is not in NORMAL state"); } } finally { testFrame.dispose(); mainFrame.dispose(); } }
Example 19
Source File: MultiScreenInsetsTest.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws InterruptedException { OSInfo.OSType type = OSInfo.getOSType(); if (type != OSInfo.OSType.LINUX && type != OSInfo.OSType.SOLARIS) { System.out.println("This test is for Solaris and Linux only..." + "skipping!"); return; } GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gds = ge.getScreenDevices(); if (gds.length < 2) { System.out.println("It's a multi-screen test... skipping!"); return; } for (int screen = 0; screen < gds.length; ++screen) { GraphicsDevice gd = gds[screen]; GraphicsConfiguration gc = gd.getDefaultConfiguration(); Rectangle bounds = gc.getBounds(); Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(gc); Frame frame = new Frame(gc); frame.setLocation(bounds.x + (bounds.width - SIZE) / 2, bounds.y + (bounds.height - SIZE) / 2); frame.setSize(SIZE, SIZE); frame.setUndecorated(true); frame.setVisible(true); // Maximize Frame to reach the struts frame.setExtendedState(java.awt.Frame.MAXIMIZED_BOTH); Thread.sleep(2000); Rectangle frameBounds = frame.getBounds(); frame.dispose(); if (bounds.x + insets.left != frameBounds.x || bounds.y + insets.top != frameBounds.y || bounds.width - insets.right - insets.left != frameBounds.width || bounds.height - insets.bottom - insets.top != frameBounds.height) { throw new RuntimeException("Test FAILED! Wrong screen #" + screen + " insets: " + insets); } } System.out.println("Test PASSED!"); }
Example 20
Source File: MultiScreenInsetsTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws InterruptedException { OSInfo.OSType type = OSInfo.getOSType(); if (type != OSInfo.OSType.LINUX && type != OSInfo.OSType.SOLARIS) { System.out.println("This test is for Solaris and Linux only..." + "skipping!"); return; } GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gds = ge.getScreenDevices(); if (gds.length < 2) { System.out.println("It's a multi-screen test... skipping!"); return; } for (int screen = 0; screen < gds.length; ++screen) { GraphicsDevice gd = gds[screen]; GraphicsConfiguration gc = gd.getDefaultConfiguration(); Rectangle bounds = gc.getBounds(); Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(gc); Frame frame = new Frame(gc); frame.setLocation(bounds.x + (bounds.width - SIZE) / 2, bounds.y + (bounds.height - SIZE) / 2); frame.setSize(SIZE, SIZE); frame.setUndecorated(true); frame.setVisible(true); // Maximize Frame to reach the struts frame.setExtendedState(java.awt.Frame.MAXIMIZED_BOTH); Thread.sleep(2000); Rectangle frameBounds = frame.getBounds(); frame.dispose(); if (bounds.x + insets.left != frameBounds.x || bounds.y + insets.top != frameBounds.y || bounds.width - insets.right - insets.left != frameBounds.width || bounds.height - insets.bottom - insets.top != frameBounds.height) { throw new RuntimeException("Test FAILED! Wrong screen #" + screen + " insets: " + insets); } } System.out.println("Test PASSED!"); }