mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-09 18:08:31 +00:00
8352687: Opensource few JInternalFrame and JTextField tests
Reviewed-by: honkar
This commit is contained in:
parent
4478a99e31
commit
f955a8cbd2
75
test/jdk/javax/swing/JInternalFrame/bug4190516.java
Normal file
75
test/jdk/javax/swing/JInternalFrame/bug4190516.java
Normal file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2025, 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.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 4190516
|
||||
* @summary JInternalFrame should be maximized when Desktop resized
|
||||
* @library /java/awt/regtesthelpers
|
||||
* @build PassFailJFrame
|
||||
* @run main/manual bug4190516
|
||||
*/
|
||||
|
||||
import javax.swing.JDesktopPane;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JInternalFrame;
|
||||
import javax.swing.SwingUtilities;
|
||||
|
||||
public class bug4190516 {
|
||||
|
||||
private static final String INSTRUCTIONS = """
|
||||
Try to resize frame "bug4190516 Frame".
|
||||
If the internal frame remains maximized
|
||||
inside this frame then test passes, else test fails.""";
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
PassFailJFrame.builder()
|
||||
.title("bug4190516 Instructions")
|
||||
.instructions(INSTRUCTIONS)
|
||||
.columns(25)
|
||||
.testUI(bug4190516::createTestUI)
|
||||
.build()
|
||||
.awaitAndCheck();
|
||||
}
|
||||
|
||||
private static JFrame createTestUI() {
|
||||
JFrame fr = new JFrame("bug4190516 Frame");
|
||||
JDesktopPane jdp = new JDesktopPane();
|
||||
fr.getContentPane().add(jdp);
|
||||
|
||||
JInternalFrame jif = new JInternalFrame("Title", true, true, true, true);
|
||||
jdp.add(jif);
|
||||
jif.setSize(150, 150);
|
||||
jif.setVisible(true);
|
||||
|
||||
fr.setSize(300, 200);
|
||||
try {
|
||||
jif.setMaximum(true);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
SwingUtilities.updateComponentTreeUI(fr);
|
||||
return fr;
|
||||
}
|
||||
}
|
||||
123
test/jdk/javax/swing/JInternalFrame/bug4242045.java
Normal file
123
test/jdk/javax/swing/JInternalFrame/bug4242045.java
Normal file
@ -0,0 +1,123 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2025, 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.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 4242045
|
||||
* @requires (os.family == "windows")
|
||||
* @summary JInternalFrame titlepane icons should be restored after attribute change
|
||||
* @library /java/awt/regtesthelpers
|
||||
* @build PassFailJFrame
|
||||
* @run main/manual bug4242045
|
||||
*/
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JDesktopPane;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JInternalFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.UnsupportedLookAndFeelException;
|
||||
|
||||
public class bug4242045 {
|
||||
|
||||
private static JFrame frame;
|
||||
|
||||
private static final String INSTRUCTIONS = """
|
||||
Add and remove iconify/maximize/close buttons using the buttons
|
||||
"Iconifiable", "Maximizable", "Closable" under different LookAndFeels.
|
||||
If they appears and disappears correctly then test passes. If any
|
||||
button does not appear or disappear as expected or appear with incorrect
|
||||
placement then test fails.""";
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
PassFailJFrame.builder()
|
||||
.title("bug4242045 Instructions")
|
||||
.instructions(INSTRUCTIONS)
|
||||
.columns(35)
|
||||
.testUI(bug4242045::createTestUI)
|
||||
.build()
|
||||
.awaitAndCheck();
|
||||
}
|
||||
|
||||
private static void setLF(ActionEvent e) {
|
||||
try {
|
||||
UIManager.setLookAndFeel(((JButton)e.getSource()).getActionCommand());
|
||||
SwingUtilities.updateComponentTreeUI(frame);
|
||||
} catch (ClassNotFoundException | InstantiationException
|
||||
| UnsupportedLookAndFeelException
|
||||
| IllegalAccessException ex) {
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
private static JFrame createTestUI() {
|
||||
|
||||
frame = new JFrame("bug4242045");
|
||||
JDesktopPane jdp = new JDesktopPane();
|
||||
JInternalFrame jif = new JInternalFrame("Test", true);
|
||||
frame.add(jdp);
|
||||
|
||||
jdp.add(jif);
|
||||
jif.setSize(150, 150);
|
||||
jif.setVisible(true);
|
||||
|
||||
JPanel p = new JPanel();
|
||||
|
||||
JButton metal = new JButton("Metal");
|
||||
metal.setActionCommand("javax.swing.plaf.metal.MetalLookAndFeel");
|
||||
metal.addActionListener((ActionEvent e) -> setLF(e));
|
||||
p.add(metal);
|
||||
|
||||
JButton windows = new JButton("Windows");
|
||||
windows.setActionCommand("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
|
||||
windows.addActionListener((ActionEvent e) -> setLF(e));
|
||||
p.add(windows);
|
||||
|
||||
JButton motif = new JButton("Motif");
|
||||
motif.setActionCommand("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
|
||||
motif.addActionListener((ActionEvent e) -> setLF(e));
|
||||
p.add(motif);
|
||||
|
||||
JButton clo = new JButton("Closable");
|
||||
clo.addActionListener(e -> jif.setClosable(!jif.isClosable()));
|
||||
p.add(clo);
|
||||
|
||||
JButton ico = new JButton("Iconifiable");
|
||||
ico.addActionListener(e -> jif.setIconifiable(!jif.isIconifiable()));
|
||||
p.add(ico);
|
||||
|
||||
JButton max = new JButton("Maximizable");
|
||||
max.addActionListener(e -> jif.setMaximizable(!jif.isMaximizable()));
|
||||
p.add(max);
|
||||
|
||||
frame.add(p, BorderLayout.SOUTH);
|
||||
frame.setSize(650, 250);
|
||||
return frame;
|
||||
}
|
||||
|
||||
}
|
||||
81
test/jdk/javax/swing/JTextField/bug4232716.java
Normal file
81
test/jdk/javax/swing/JTextField/bug4232716.java
Normal file
@ -0,0 +1,81 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2025, 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.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 4232716
|
||||
* @key headful
|
||||
* @summary Tests if <input type="text" size="5"> creates a maximized JTextField
|
||||
* @run main bug4232716
|
||||
*/
|
||||
|
||||
import java.awt.Component;
|
||||
import java.awt.Container;
|
||||
import java.awt.Robot;
|
||||
import javax.swing.JEditorPane;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.SwingUtilities;
|
||||
|
||||
public class bug4232716 {
|
||||
|
||||
private static JFrame frame;
|
||||
private static JEditorPane e;
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
Robot robot = new Robot();
|
||||
try {
|
||||
SwingUtilities.invokeAndWait(() -> {
|
||||
frame = new JFrame("bug4232716");
|
||||
String html ="<html> <head> <title> Test </title> </head> " +
|
||||
"<body> <form> <input type=\"text\" size=\"5\"> " +
|
||||
"</form> </body> </html>";
|
||||
e = new JEditorPane("text/html", html);
|
||||
e.setEditable(false);
|
||||
frame.add(e);
|
||||
frame.setSize(400, 300);
|
||||
frame.setLocationRelativeTo(null);
|
||||
frame.setVisible(true);
|
||||
});
|
||||
robot.waitForIdle();
|
||||
robot.delay(1000);
|
||||
|
||||
Container c = (Container)e.getComponent(0);
|
||||
Component swingComponent = c.getComponent(0);
|
||||
System.out.println(swingComponent);
|
||||
if (swingComponent instanceof JTextField tf) {
|
||||
System.out.println(tf.getWidth());
|
||||
System.out.println(frame.getWidth());
|
||||
if (swingComponent.getWidth() > (frame.getWidth() * 0.75)) {
|
||||
throw new RuntimeException("textfield width almost same as frame width");
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
SwingUtilities.invokeAndWait(() -> {
|
||||
if (frame != null) {
|
||||
frame.dispose();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
70
test/jdk/javax/swing/JTextField/bug5027332.java
Normal file
70
test/jdk/javax/swing/JTextField/bug5027332.java
Normal file
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2025, 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.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 5027332
|
||||
* @library /java/awt/regtesthelpers
|
||||
* @build PassFailJFrame
|
||||
* @summary Tests that textfield caret is placed slightly off textfield borders
|
||||
* @run main/manual bug5027332
|
||||
*/
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.UIManager;
|
||||
|
||||
public class bug5027332 {
|
||||
|
||||
private static final String INSTRUCTIONS = """
|
||||
Click into the text field so that caret appears inside.
|
||||
The caret should be placed slightly off text field borders,
|
||||
so that it can be easily distinguished from the border.
|
||||
Test fails if the caret touches the border.""";
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
|
||||
|
||||
PassFailJFrame.builder()
|
||||
.title("bug5027332 Instructions")
|
||||
.instructions(INSTRUCTIONS)
|
||||
.rows(6)
|
||||
.columns(35)
|
||||
.testUI(bug5027332::createTestUI)
|
||||
.build()
|
||||
.awaitAndCheck();
|
||||
}
|
||||
|
||||
private static JFrame createTestUI() {
|
||||
JFrame frame = new JFrame("bug5027332");
|
||||
JTextField t = new JTextField(10);
|
||||
JPanel p = new JPanel();
|
||||
p.add(t, BorderLayout.CENTER);
|
||||
frame.setContentPane(p);
|
||||
frame.pack();
|
||||
return frame;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user