< prev index next >

test/jdk/java/awt/Frame/FrameLocation/FrameLocation.java

Print this page




  23 
  24 /*
  25   @test
  26   @key headful
  27   @bug 6895647
  28   @summary X11 Frame locations should be what we set them to
  29   @author anthony.petrov@oracle.com: area=awt.toplevel
  30   @run main FrameLocation
  31  */
  32 
  33 import java.awt.*;
  34 
  35 public class FrameLocation {
  36     private static final int X = 250;
  37     private static final int Y = 250;
  38 
  39     public static void main(String[] args) {
  40         Frame f = new Frame("test");
  41         f.setBounds(X, Y, 250, 250); // the size doesn't matter
  42         f.setVisible(true);
  43 
  44         for (int i = 0; i < 10; i++) {
  45             // 2 seconds must be enough for the WM to show the window
  46             try {
  47                 Thread.sleep(2000);
  48             } catch (InterruptedException ex) {
  49             }

  50 
  51             // Check the location
  52             int x = f.getX();
  53             int y = f.getY();
  54 
  55             if (x != X || y != Y) {
  56                 throw new RuntimeException("The frame location is wrong! Current: " + x + ", " + y + ";  expected: " + X + ", " + Y);
  57             }
  58 
  59             // Emulate what happens when setGraphicsConfiguration() is called
  60             synchronized (f.getTreeLock()) {
  61                 f.removeNotify();
  62                 f.addNotify();
  63             }
  64         }
  65 
  66         f.dispose();
  67     }
  68 }
  69 


  23 
  24 /*
  25   @test
  26   @key headful
  27   @bug 6895647
  28   @summary X11 Frame locations should be what we set them to
  29   @author anthony.petrov@oracle.com: area=awt.toplevel
  30   @run main FrameLocation
  31  */
  32 
  33 import java.awt.*;
  34 
  35 public class FrameLocation {
  36     private static final int X = 250;
  37     private static final int Y = 250;
  38 
  39     public static void main(String[] args) {
  40         Frame f = new Frame("test");
  41         f.setBounds(X, Y, 250, 250); // the size doesn't matter
  42         f.setVisible(true);


  43         // 2 seconds must be enough for the WM to show the window
  44         try {
  45             Thread.sleep(2000);
  46         } catch (InterruptedException ex) {
  47         }
  48         for (int i = 0; i < 10; i++) {
  49 
  50             // Check the location
  51             int x = f.getX();
  52             int y = f.getY();
  53 
  54             if (x != X || y != Y) {
  55                 throw new RuntimeException(i + " The frame location is wrong! Current: " + x + ", " + y + ";  expected: " + X + ", " + Y);
  56             }
  57 
  58             // Emulate what happens when setGraphicsConfiguration() is called
  59             synchronized (f.getTreeLock()) {
  60                 f.removeNotify();
  61                 f.addNotify();
  62             }
  63         }
  64 
  65         f.dispose();
  66     }
  67 }

< prev index next >