< prev index next >
test/jdk/java/awt/Frame/UnfocusableMaximizedFrameResizablity/UnfocusableMaximizedFrameResizablity.java
Print this page
@@ -22,11 +22,11 @@
*/
/*
@test
@key headful
- @bug 4980161 7158623
+ @bug 4980161 7158623 8204860
@summary Setting focusable window state to false makes the maximized frame resizable
@compile UnfocusableMaximizedFrameResizablity.java
@run main UnfocusableMaximizedFrameResizablity
*/
@@ -50,17 +50,36 @@
//The MAXIMIZED_BOTH state is not supported by the toolkit. Nothing to test.
if (!Toolkit.getDefaultToolkit().isFrameStateSupported(Frame.MAXIMIZED_BOTH)) {
return;
}
- frame = new Frame("Unfocusable frame");
+ //Case 1: Setting frame resizable to true followed by focusable to false
+ frame = createFrame("Resizable Unfocusable frame");
+ frame.setResizable(true);
+ frame.setFocusableWindowState(false);
+ tryToResizeFrame(frame);
+
+ //Case 2: Setting frame focusable to false followed by resizable to true
+ frame = createFrame("Unfocusable Resizable frame");
+ frame.setFocusableWindowState(false);
+ frame.setResizable(true);
+ tryToResizeFrame(frame);
+
+ cleanup();
+ }
+
+ private static Frame createFrame(String title) {
+ Frame frame = new Frame(title);
frame.setMaximizedBounds(new Rectangle(0, 0, 300, 300));
frame.setSize(200, 200);
frame.setVisible(true);
frame.setExtendedState(Frame.MAXIMIZED_BOTH);
- frame.setFocusableWindowState(false);
+ return frame;
+ }
+
+ private static void tryToResizeFrame(Frame frame) {
try {
robot = new Robot();
} catch (AWTException e) {
throw new RuntimeException("Robot creation failed");
}
@@ -87,15 +106,15 @@
if (!finalBounds.equals(bounds)) {
cleanup();
throw new RuntimeException("The maximized unfocusable frame can be resized.");
}
- cleanup();
+
+ frame.dispose();
}
private static void cleanup() {
- frame.dispose();
isProgInterruption = true;
mainThread.interrupt();
}
public static void main(String args[]) throws InterruptedException {
< prev index next >