< prev index next >

test/jdk/java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 30,63 **** @library ../../regtesthelpers @build Util @run main ScreenInsetsTest */ ! import java.awt.*; ! import java.awt.event.*; import test.java.awt.regtesthelpers.Util; public class ScreenInsetsTest { public static void main(String[] args) { - if (!Toolkit.getDefaultToolkit().isFrameStateSupported(Frame.MAXIMIZED_BOTH)) - { - // this state is used in the test - sorry - return; - } - boolean passed = true; GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gds = ge.getScreenDevices(); ! for (GraphicsDevice gd : gds) ! { GraphicsConfiguration gc = gd.getDefaultConfiguration(); Rectangle gcBounds = gc.getBounds(); Insets gcInsets = Toolkit.getDefaultToolkit().getScreenInsets(gc); Frame f = new Frame("Test", gc); f.setUndecorated(true); f.setBounds(gcBounds.x + 100, gcBounds.y + 100, 320, 240); f.setVisible(true); --- 30,80 ---- @library ../../regtesthelpers @build Util @run main ScreenInsetsTest */ ! import java.awt.Frame; ! import java.awt.GraphicsConfiguration; ! import java.awt.GraphicsDevice; ! import java.awt.GraphicsEnvironment; ! import java.awt.Insets; ! import java.awt.Rectangle; ! import java.awt.Toolkit; import test.java.awt.regtesthelpers.Util; public class ScreenInsetsTest { public static void main(String[] args) { boolean passed = true; GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gds = ge.getScreenDevices(); ! for (GraphicsDevice gd : gds) { ! GraphicsConfiguration gc = gd.getDefaultConfiguration(); Rectangle gcBounds = gc.getBounds(); Insets gcInsets = Toolkit.getDefaultToolkit().getScreenInsets(gc); + int left = gcInsets.left; + int right = gcInsets.right; + int bottom = gcInsets.bottom; + int top = gcInsets.top; + if (left < 0 || right < 0 || bottom < 0 || top < 0) { + throw new RuntimeException("Negative value: " + gcInsets); + } + int maxW = gcBounds.width / 3; + int maxH = gcBounds.height / 3; + if (left > maxW || right > maxW || bottom > maxH || top > maxH) { + throw new RuntimeException("Big value: " + gcInsets); + } + + if (!Toolkit.getDefaultToolkit().isFrameStateSupported(Frame.MAXIMIZED_BOTH)) + { + // this state is used in the test - sorry + continue; + } Frame f = new Frame("Test", gc); f.setUndecorated(true); f.setBounds(gcBounds.x + 100, gcBounds.y + 100, 320, 240); f.setVisible(true);
< prev index next >