Java Code Examples for java.awt.Frame#getBounds()
The following examples show how to use
java.awt.Frame#getBounds() .
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: MultiScreenRobotPosition.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { GraphicsDevice[] sds = GraphicsEnvironment.getLocalGraphicsEnvironment() .getScreenDevices(); for (final GraphicsDevice gd : sds) { fail = true; Robot robot = new Robot(gd); robot.setAutoDelay(100); robot.setAutoWaitForIdle(true); Frame frame = new Frame(gd.getDefaultConfiguration()); frame.setUndecorated(true); frame.setSize(400, 400); frame.setVisible(true); robot.waitForIdle(); frame.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { System.out.println("e = " + e); fail = false; } }); Rectangle bounds = frame.getBounds(); robot.mouseMove(bounds.x + bounds.width / 2, bounds.y + bounds.height / 2); robot.mousePress(MouseEvent.BUTTON1_DOWN_MASK); robot.mouseRelease(MouseEvent.BUTTON1_DOWN_MASK); frame.dispose(); if (fail) { System.err.println("Frame bounds = " + bounds); throw new RuntimeException("Click in the wrong location"); } } }
Example 2
Source File: ModalDialogOrderingTest.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 5 votes |
private static void runTest(Dialog dialog, Frame frame) { try { Robot robot = new Robot(); robot.setAutoDelay(50); robot.mouseMove(300, 300); while (!dialog.isVisible()) { sleep(); } Rectangle dialogBounds = dialog.getBounds(); Rectangle frameBounds = frame.getBounds(); int y1 = dialogBounds.y + dialogBounds.height; int y2 = frameBounds.y + frameBounds.height; int clickX = frameBounds.x + frameBounds.width / 2; int clickY = y1 + (y2 - y1) / 2; robot.mouseMove(clickX, clickY); robot.mousePress(InputEvent.BUTTON1_MASK); robot.mouseRelease(InputEvent.BUTTON1_MASK); sleep(); int colorX = dialogBounds.x + dialogBounds.width / 2; int colorY = dialogBounds.y + dialogBounds.height / 2; Color color = robot.getPixelColor(colorX, colorY); dialog.dispose(); frame.dispose(); if (!DIALOG_COLOR.equals(color)) { throw new RuntimeException("The frame is on top" + " of the modal dialog!"); } } catch (Exception ex) { throw new RuntimeException(ex); } }
Example 3
Source File: AckWithMemoryDialog.java From IrScrutinizer with GNU General Public License v3.0 | 5 votes |
public static boolean ackWithMemoryDialog(String message, String uSure, PropertyFlip propertyFlip, Frame parent) { if (propertyFlip.getProperty()) return true; AckWithMemoryDialog dialog = new AckWithMemoryDialog(message, uSure, propertyFlip, parent); Rectangle parentCoords = parent.getBounds(); Rectangle myCoords = dialog.getBounds(); myCoords.x = parentCoords.x + (parentCoords.width - myCoords.width)/2; myCoords.y = parentCoords.y + (parentCoords.height - myCoords.height)/2; dialog.setBounds(myCoords); dialog.setVisible(true); // blocks due to modality return dialog.answer; }
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: 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 6
Source File: ModalDialogOrderingTest.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
private static void runTest(Dialog dialog, Frame frame) { try { Robot robot = new Robot(); robot.setAutoDelay(50); robot.mouseMove(300, 300); while (!dialog.isVisible()) { sleep(); } Rectangle dialogBounds = dialog.getBounds(); Rectangle frameBounds = frame.getBounds(); int y1 = dialogBounds.y + dialogBounds.height; int y2 = frameBounds.y + frameBounds.height; int clickX = frameBounds.x + frameBounds.width / 2; int clickY = y1 + (y2 - y1) / 2; robot.mouseMove(clickX, clickY); robot.mousePress(InputEvent.BUTTON1_MASK); robot.mouseRelease(InputEvent.BUTTON1_MASK); sleep(); int colorX = dialogBounds.x + dialogBounds.width / 2; int colorY = dialogBounds.y + dialogBounds.height / 2; Color color = robot.getPixelColor(colorX, colorY); dialog.dispose(); frame.dispose(); if (!DIALOG_COLOR.equals(color)) { throw new RuntimeException("The frame is on top" + " of the modal dialog!"); } } catch (Exception ex) { throw new RuntimeException(ex); } }
Example 7
Source File: MetaDataDialog.java From IrScrutinizer with GNU General Public License v3.0 | 5 votes |
public static Remote.MetaData inquireMetaData(Remote.MetaData initData, Frame parent) { MetaDataDialog dialog = new MetaDataDialog(initData, parent); Rectangle parentCoords = parent.getBounds(); Rectangle myCoords = dialog.getBounds(); myCoords.x = parentCoords.x + (parentCoords.width - myCoords.width)/2; myCoords.y = parentCoords.y + (parentCoords.height - myCoords.height)/2; dialog.setBounds(myCoords); dialog.setVisible(true); // blocks due to modality return dialog.metaData; }
Example 8
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 9
Source File: CustomizerDialog.java From netbeans with Apache License 2.0 | 4 votes |
public void actionPerformed( final ActionEvent e ) { String command = e.getActionCommand(); if ( COMMAND_OK.equals( command ) ) { // Call the OK option listener ProjectManager.mutex().writeAccess(new Mutex.Action<Object>() { public Object run() { okOptionListener.actionPerformed( e ); // XXX maybe create new event actionPerformed(e, categories); return null; } }); final ProgressHandle handle = ProgressHandleFactory.createHandle(NbBundle.getMessage(CustomizerDialog.class, "LBL_Saving_Project_data_progress")); JComponent component = ProgressHandleFactory.createProgressComponent(handle); Frame mainWindow = WindowManager.getDefault().getMainWindow(); final JDialog dialog = new JDialog(mainWindow, NbBundle.getMessage(CustomizerDialog.class, "LBL_Saving_Project_data"), true); SavingProjectDataPanel panel = new SavingProjectDataPanel(component); dialog.getContentPane().add(panel); dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE); dialog.pack(); Rectangle bounds = mainWindow.getBounds(); int middleX = bounds.x + bounds.width / 2; int middleY = bounds.y + bounds.height / 2; Dimension size = dialog.getPreferredSize(); dialog.setBounds(middleX - size.width / 2, middleY - size.height / 2, size.width, size.height); // Call storeListeners out of AWT EQ RequestProcessor.getDefault().post(new Runnable() { @Override public void run() { try { ProjectManager.mutex().writeAccess(new Mutex.Action<Object>() { @Override public Object run() { FileUtil.runAtomicAction(new Runnable() { @Override public void run() { handle.start(); if (storeListener != null) { storeListener.actionPerformed(e); } storePerformed(e, categories); // #97998 related saveModifiedProject(); } }); return null; } }); } finally { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { dialog.setVisible(false); dialog.dispose(); } }); } } }); dialog.setVisible(true); } }
Example 10
Source File: MultiScreenLocationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws AWTException { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gds = ge.getScreenDevices(); if (gds.length < 2) { System.out.println("It's a multiscreen test... skipping!"); return; } for (int i = 0; i < gds.length; ++i) { GraphicsDevice gd = gds[i]; GraphicsConfiguration gc = gd.getDefaultConfiguration(); Rectangle screen = gc.getBounds(); Robot robot = new Robot(gd); // check Robot.mouseMove() robot.mouseMove(screen.x + mouseOffset.x, screen.y + mouseOffset.y); Point mouse = MouseInfo.getPointerInfo().getLocation(); Point point = screen.getLocation(); point.translate(mouseOffset.x, mouseOffset.y); if (!point.equals(mouse)) { throw new RuntimeException(getErrorText("Robot.mouseMove", i)); } // check Robot.getPixelColor() Frame frame = new Frame(gc); frame.setUndecorated(true); frame.setSize(100, 100); frame.setLocation(screen.x + frameOffset.x, screen.y + frameOffset.y); frame.setBackground(color); frame.setVisible(true); robot.waitForIdle(); Rectangle bounds = frame.getBounds(); if (!Util.testBoundsColor(bounds, color, 5, 1000, robot)) { throw new RuntimeException(getErrorText("Robot.getPixelColor", i)); } // check Robot.createScreenCapture() BufferedImage image = robot.createScreenCapture(bounds); int rgb = color.getRGB(); if (image.getRGB(0, 0) != rgb || image.getRGB(image.getWidth() - 1, 0) != rgb || image.getRGB(image.getWidth() - 1, image.getHeight() - 1) != rgb || image.getRGB(0, image.getHeight() - 1) != rgb) { throw new RuntimeException( getErrorText("Robot.createScreenCapture", i)); } frame.dispose(); } System.out.println("Test PASSED!"); }
Example 11
Source File: MultiScreenLocationTest.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws AWTException { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gds = ge.getScreenDevices(); if (gds.length < 2) { System.out.println("It's a multiscreen test... skipping!"); return; } for (int i = 0; i < gds.length; ++i) { GraphicsDevice gd = gds[i]; GraphicsConfiguration gc = gd.getDefaultConfiguration(); Rectangle screen = gc.getBounds(); Robot robot = new Robot(gd); // check Robot.mouseMove() robot.mouseMove(screen.x + mouseOffset.x, screen.y + mouseOffset.y); Point mouse = MouseInfo.getPointerInfo().getLocation(); Point point = screen.getLocation(); point.translate(mouseOffset.x, mouseOffset.y); if (!point.equals(mouse)) { throw new RuntimeException(getErrorText("Robot.mouseMove", i)); } // check Robot.getPixelColor() Frame frame = new Frame(gc); frame.setUndecorated(true); frame.setSize(100, 100); frame.setLocation(screen.x + frameOffset.x, screen.y + frameOffset.y); frame.setBackground(color); frame.setVisible(true); robot.waitForIdle(); Rectangle bounds = frame.getBounds(); if (!Util.testBoundsColor(bounds, color, 5, 1000, robot)) { throw new RuntimeException(getErrorText("Robot.getPixelColor", i)); } // check Robot.createScreenCapture() BufferedImage image = robot.createScreenCapture(bounds); int rgb = color.getRGB(); if (image.getRGB(0, 0) != rgb || image.getRGB(image.getWidth() - 1, 0) != rgb || image.getRGB(image.getWidth() - 1, image.getHeight() - 1) != rgb || image.getRGB(0, image.getHeight() - 1) != rgb) { throw new RuntimeException( getErrorText("Robot.createScreenCapture", i)); } frame.dispose(); } System.out.println("Test PASSED!"); }
Example 12
Source File: MultiScreenLocationTest.java From openjdk-jdk8u with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws AWTException { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gds = ge.getScreenDevices(); if (gds.length < 2) { System.out.println("It's a multiscreen test... skipping!"); return; } for (int i = 0; i < gds.length; ++i) { GraphicsDevice gd = gds[i]; GraphicsConfiguration gc = gd.getDefaultConfiguration(); Rectangle screen = gc.getBounds(); Robot robot = new Robot(gd); // check Robot.mouseMove() robot.mouseMove(screen.x + mouseOffset.x, screen.y + mouseOffset.y); Point mouse = MouseInfo.getPointerInfo().getLocation(); Point point = screen.getLocation(); point.translate(mouseOffset.x, mouseOffset.y); if (!point.equals(mouse)) { throw new RuntimeException(getErrorText("Robot.mouseMove", i)); } // check Robot.getPixelColor() Frame frame = new Frame(gc); frame.setUndecorated(true); frame.setSize(100, 100); frame.setLocation(screen.x + frameOffset.x, screen.y + frameOffset.y); frame.setBackground(color); frame.setVisible(true); robot.waitForIdle(); Rectangle bounds = frame.getBounds(); if (!Util.testBoundsColor(bounds, color, 5, 1000, robot)) { throw new RuntimeException(getErrorText("Robot.getPixelColor", i)); } // check Robot.createScreenCapture() BufferedImage image = robot.createScreenCapture(bounds); int rgb = color.getRGB(); if (image.getRGB(0, 0) != rgb || image.getRGB(image.getWidth() - 1, 0) != rgb || image.getRGB(image.getWidth() - 1, image.getHeight() - 1) != rgb || image.getRGB(0, image.getHeight() - 1) != rgb) { throw new RuntimeException( getErrorText("Robot.createScreenCapture", i)); } frame.dispose(); } System.out.println("Test PASSED!"); }
Example 13
Source File: ScreenInsetsTest.java From openjdk-jdk8u with GNU General Public License v2.0 | 4 votes |
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); Util.waitForIdle(null); f.setExtendedState(Frame.MAXIMIZED_BOTH); Util.waitForIdle(null); Rectangle fBounds = f.getBounds(); // workaround: on Windows maximized windows have negative coordinates if (fBounds.x < gcBounds.x) { fBounds.width -= (gcBounds.x - fBounds.x) * 2; // width is decreased fBounds.x = gcBounds.x; } if (fBounds.y < gcBounds.y) { fBounds.height -= (gcBounds.y - fBounds.y) * 2; // height is decreased fBounds.y = gcBounds.y; } Insets expected = new Insets(fBounds.y - gcBounds.y, fBounds.x - gcBounds.x, gcBounds.y + gcBounds.height - fBounds.y - fBounds.height, gcBounds.x + gcBounds.width - fBounds.x - fBounds.width); if (!expected.equals(gcInsets)) { passed = false; System.err.println("Wrong insets for GraphicsConfig: " + gc); System.err.println("\tExpected: " + expected); System.err.println("\tActual: " + gcInsets); } f.dispose(); } if (!passed) { throw new RuntimeException("TEST FAILED: Toolkit.getScreenInsets() returns wrong value for some screens"); } }
Example 14
Source File: MultiScreenInsetsTest.java From jdk8u60 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 15
Source File: MultiScreenInsetsTest.java From TencentKona-8 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 16
Source File: MultiScreenLocationTest.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws AWTException { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gds = ge.getScreenDevices(); if (gds.length < 2) { System.out.println("It's a multiscreen test... skipping!"); return; } for (int i = 0; i < gds.length; ++i) { GraphicsDevice gd = gds[i]; GraphicsConfiguration gc = gd.getDefaultConfiguration(); Rectangle screen = gc.getBounds(); Robot robot = new Robot(gd); // check Robot.mouseMove() robot.mouseMove(screen.x + mouseOffset.x, screen.y + mouseOffset.y); Point mouse = MouseInfo.getPointerInfo().getLocation(); Point point = screen.getLocation(); point.translate(mouseOffset.x, mouseOffset.y); if (!point.equals(mouse)) { throw new RuntimeException(getErrorText("Robot.mouseMove", i)); } // check Robot.getPixelColor() Frame frame = new Frame(gc); frame.setUndecorated(true); frame.setSize(100, 100); frame.setLocation(screen.x + frameOffset.x, screen.y + frameOffset.y); frame.setBackground(color); frame.setVisible(true); robot.waitForIdle(); Rectangle bounds = frame.getBounds(); if (!Util.testBoundsColor(bounds, color, 5, 1000, robot)) { throw new RuntimeException(getErrorText("Robot.getPixelColor", i)); } // check Robot.createScreenCapture() BufferedImage image = robot.createScreenCapture(bounds); int rgb = color.getRGB(); if (image.getRGB(0, 0) != rgb || image.getRGB(image.getWidth() - 1, 0) != rgb || image.getRGB(image.getWidth() - 1, image.getHeight() - 1) != rgb || image.getRGB(0, image.getHeight() - 1) != rgb) { throw new RuntimeException( getErrorText("Robot.createScreenCapture", i)); } frame.dispose(); } System.out.println("Test PASSED!"); }
Example 17
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!"); }
Example 18
Source File: MultiScreenLocationTest.java From jdk8u-jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws AWTException { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gds = ge.getScreenDevices(); if (gds.length < 2) { System.out.println("It's a multiscreen test... skipping!"); return; } for (int i = 0; i < gds.length; ++i) { GraphicsDevice gd = gds[i]; GraphicsConfiguration gc = gd.getDefaultConfiguration(); Rectangle screen = gc.getBounds(); Robot robot = new Robot(gd); // check Robot.mouseMove() robot.mouseMove(screen.x + mouseOffset.x, screen.y + mouseOffset.y); Point mouse = MouseInfo.getPointerInfo().getLocation(); Point point = screen.getLocation(); point.translate(mouseOffset.x, mouseOffset.y); if (!point.equals(mouse)) { throw new RuntimeException(getErrorText("Robot.mouseMove", i)); } // check Robot.getPixelColor() Frame frame = new Frame(gc); frame.setUndecorated(true); frame.setSize(100, 100); frame.setLocation(screen.x + frameOffset.x, screen.y + frameOffset.y); frame.setBackground(color); frame.setVisible(true); robot.waitForIdle(); Rectangle bounds = frame.getBounds(); if (!Util.testBoundsColor(bounds, color, 5, 1000, robot)) { throw new RuntimeException(getErrorText("Robot.getPixelColor", i)); } // check Robot.createScreenCapture() BufferedImage image = robot.createScreenCapture(bounds); int rgb = color.getRGB(); if (image.getRGB(0, 0) != rgb || image.getRGB(image.getWidth() - 1, 0) != rgb || image.getRGB(image.getWidth() - 1, image.getHeight() - 1) != rgb || image.getRGB(0, image.getHeight() - 1) != rgb) { throw new RuntimeException( getErrorText("Robot.createScreenCapture", i)); } frame.dispose(); } System.out.println("Test PASSED!"); }
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: ScreenInsetsTest.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
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); Util.waitForIdle(null); f.setExtendedState(Frame.MAXIMIZED_BOTH); Util.waitForIdle(null); Rectangle fBounds = f.getBounds(); // workaround: on Windows maximized windows have negative coordinates if (fBounds.x < gcBounds.x) { fBounds.width -= (gcBounds.x - fBounds.x) * 2; // width is decreased fBounds.x = gcBounds.x; } if (fBounds.y < gcBounds.y) { fBounds.height -= (gcBounds.y - fBounds.y) * 2; // height is decreased fBounds.y = gcBounds.y; } Insets expected = new Insets(fBounds.y - gcBounds.y, fBounds.x - gcBounds.x, gcBounds.y + gcBounds.height - fBounds.y - fBounds.height, gcBounds.x + gcBounds.width - fBounds.x - fBounds.width); if (!expected.equals(gcInsets)) { passed = false; System.err.println("Wrong insets for GraphicsConfig: " + gc); System.err.println("\tExpected: " + expected); System.err.println("\tActual: " + gcInsets); } f.dispose(); } if (!passed) { throw new RuntimeException("TEST FAILED: Toolkit.getScreenInsets() returns wrong value for some screens"); } }