8327859: Remove applet usage from JColorChooser tests Test4319113

Reviewed-by: prr, tr
This commit is contained in:
Alisen Chung 2024-03-14 22:53:08 +00:00
parent df909e2f9c
commit 89fb0f837b
2 changed files with 55 additions and 86 deletions

View File

@ -1,39 +0,0 @@
<!--
Copyright (c) 2015, 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.
-->
<html>
<body>
1. Press button "Show ColorChooser" in the frame "frame" and
a color chooser dialog should appear.
2. Without closing the color chooser, change Look And Feel
selecting it from the combobox in the frame "frame".
Dialog appearance will change.
3. Resize the color chooser by mouse drag.
If you see some remnants of the previous color chooser,
press "Fail" else press "Pass".
<applet width="500" height="400" code="Test4319113.class">
</applet>
</body>
</html>

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2024 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
@ -21,27 +21,15 @@
* questions.
*/
/*
* @test
* @bug 4319113
* @summary Tests the open JColorChooser behavior on LaF change.
* @author yan
* @run applet/manual=yesno Test4319113.html
*/
import java.awt.Color;
import java.awt.Component;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.PrintStream;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
@ -50,47 +38,66 @@ import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class Test4319113
extends JApplet
implements ActionListener {
private final JFrame frame = new JFrame("frame");
private JComboBox cbPlaf;
/*
* @test
* @bug 4319113
* @library /java/awt/regtesthelpers
* @build PassFailJFrame
* @summary Tests the open JColorChooser behavior on LaF change.
* @run main/manual Test4319113
*/
public class Test4319113 {
@Override
public void init() {
try {
java.awt.EventQueue.invokeLater( () -> {
Test4319113.this.frame.setLayout(new GridLayout(2, 1));
Test4319113.this.show(Test4319113.this.frame);
});
}catch(Exception ex) {
ex.printStackTrace();
}
public static void main(String[] args) throws Exception {
String instructions = "1. Press button \"Show ColorChooser\" in the frame \"frame\" and\n" +
" a color chooser dialog should appear.\n" +
"2. Without closing the color chooser, change Look And Feel\n" +
" selecting it from the combobox in the frame \"frame\".\n" +
" Dialog appearance will change.\n" +
"3. Resize the color chooser by mouse drag.\n" +
"\n" +
" If you see some remnants of the previous color chooser,\n" +
" press \"Fail\" else press \"Pass\".";
PassFailJFrame.builder()
.title("Test4319113")
.instructions(instructions)
.rows(5)
.columns(40)
.testTimeOut(10)
.testUI(Test4319113::test)
.build()
.awaitAndCheck();
}
@Override
public void actionPerformed(ActionEvent actionEvent) {
Object object = actionEvent.getSource();
Component component = object instanceof Component ? (Component)object : null;
JDialog jDialog = JColorChooser.createDialog(component, "ColorChooser", false, new JColorChooser(Color.BLUE), null, null);
jDialog.setVisible(true);
}
private static JFrame test() {
JFrame frame = new JFrame("JColorChooser behavior on LaF change");
frame.setLayout(new GridLayout(2, 1));
private void show(Window window) {
JButton jButton = new JButton("Show ColorChooser");
jButton.setActionCommand("Show ColorChooser");
jButton.addActionListener(this);
this.cbPlaf = new JComboBox<UIManager.LookAndFeelInfo>(UIManager.getInstalledLookAndFeels());
this.cbPlaf.addItemListener(new ItemListener(){
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
Object object = actionEvent.getSource();
Component component = object instanceof Component ? (Component) object : null;
JDialog jDialog = JColorChooser.createDialog(component, "ColorChooser",
false, new JColorChooser(Color.BLUE), null, null);
jDialog.setVisible(true);
}
});
JComboBox cbPlaf = new JComboBox<UIManager.LookAndFeelInfo>(UIManager.getInstalledLookAndFeels());
cbPlaf.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent itemEvent) {
if (itemEvent.getStateChange() == 1) {
SwingUtilities.invokeLater(new Runnable(){
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
UIManager.LookAndFeelInfo lookAndFeelInfo = (UIManager.LookAndFeelInfo)Test4319113.this.cbPlaf.getSelectedItem();
UIManager.LookAndFeelInfo lookAndFeelInfo =
(UIManager.LookAndFeelInfo) cbPlaf.getSelectedItem();
try {
UIManager.setLookAndFeel(lookAndFeelInfo.getClassName());
Frame[] arrframe = Frame.getFrames();
@ -98,8 +105,7 @@ implements ActionListener {
while (--n >= 0) {
Test4319113.updateWindowTreeUI(arrframe[n]);
}
}
catch (Exception var2_3) {
} catch (Exception var2_3) {
System.err.println("Exception while changing L&F!");
}
}
@ -108,10 +114,12 @@ implements ActionListener {
}
});
window.add(this.cbPlaf);
window.add(jButton);
window.pack();
window.setVisible(true);
frame.add(cbPlaf);
frame.add(jButton);
frame.pack();
return frame;
}
private static void updateWindowTreeUI(Window window) {