From 06f4b7f54da03e57abfe8958e4354c1ecb7e3039 Mon Sep 17 00:00:00 2001 From: Prasanta Sadhukhan Date: Fri, 15 Mar 2024 05:44:11 +0000 Subject: [PATCH] 8327756: Convert javax/swing/JSlider/4987336/bug4987336.java applet to main Reviewed-by: prr --- .../swing/JSlider/4987336/bug4987336.html | 32 ---------- .../swing/JSlider/4987336/bug4987336.java | 63 ++++++++++++++----- 2 files changed, 49 insertions(+), 46 deletions(-) delete mode 100644 test/jdk/javax/swing/JSlider/4987336/bug4987336.html diff --git a/test/jdk/javax/swing/JSlider/4987336/bug4987336.html b/test/jdk/javax/swing/JSlider/4987336/bug4987336.html deleted file mode 100644 index 606810da887..00000000000 --- a/test/jdk/javax/swing/JSlider/4987336/bug4987336.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - -There are four Sliders. Each of them has a label with animated gif (a waving duke) -and a label with static image. - -Check that for every LAF animation works for all Sliders. - - diff --git a/test/jdk/javax/swing/JSlider/4987336/bug4987336.java b/test/jdk/javax/swing/JSlider/4987336/bug4987336.java index 3671a9a30eb..a5aad958c77 100644 --- a/test/jdk/javax/swing/JSlider/4987336/bug4987336.java +++ b/test/jdk/javax/swing/JSlider/4987336/bug4987336.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 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,25 +21,58 @@ * questions. */ -/* @test - @bug 4987336 - @summary JSlider doesn't show label's animated icon. - @author Pavel Porvatov - @run applet/manual=done bug4987336.html +/* + * @test + * @bug 4987336 + * @summary JSlider doesn't show label's animated icon. + * @library /java/awt/regtesthelpers + * @build PassFailJFrame + * @run main/manual bug4987336 */ - -import javax.swing.*; -import javax.swing.border.TitledBorder; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import javax.swing.ButtonGroup; +import javax.swing.BoxLayout; +import javax.swing.ImageIcon; +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.JScrollPane; +import javax.swing.JSlider; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; +import javax.swing.border.TitledBorder; import java.util.Hashtable; -public class bug4987336 extends JApplet { +public class bug4987336 { + private static final String INSTRUCTIONS = """ + There are four Sliders. + Each of them has a label with animated gif (a waving duke) + and a label with static image. + If it is rendered correctly, click Pass else click Fail."""; + private static final String IMAGE_RES = "box.gif"; private static final String ANIM_IMAGE_RES = "duke.gif"; + private static JFrame frame; - public void init() { + public static void main(String[] args) throws Exception { + PassFailJFrame.builder() + .title("Slider rendering Instructions") + .instructions(INSTRUCTIONS) + .rows(5) + .columns(35) + .testUI(bug4987336::createTestUI) + .position(PassFailJFrame.Position.TOP_LEFT_CORNER) + .build() + .awaitAndCheck(); + } + + private static JFrame createTestUI() { + frame = new JFrame("bug4987336"); JPanel pnLafs = new JPanel(); pnLafs.setLayout(new BoxLayout(pnLafs, BoxLayout.Y_AXIS)); @@ -64,7 +97,9 @@ public class bug4987336 extends JApplet { pnContent.add(createSlider(true, ANIM_IMAGE_RES, null, IMAGE_RES, IMAGE_RES)); pnContent.add(createSlider(false, ANIM_IMAGE_RES, null, IMAGE_RES, IMAGE_RES)); - getContentPane().add(new JScrollPane(pnContent)); + frame.getContentPane().add(new JScrollPane(pnContent)); + frame.pack(); + return frame; } private static JSlider createSlider(boolean enabled, @@ -99,7 +134,7 @@ public class bug4987336 extends JApplet { return result; } - private class LafRadioButton extends JRadioButton { + private static class LafRadioButton extends JRadioButton { public LafRadioButton(final UIManager.LookAndFeelInfo lafInfo) { super(lafInfo.getName(), lafInfo.getName().equals(UIManager.getLookAndFeel().getName())); @@ -108,7 +143,7 @@ public class bug4987336 extends JApplet { try { UIManager.setLookAndFeel(lafInfo.getClassName()); - SwingUtilities.updateComponentTreeUI(bug4987336.this); + SwingUtilities.updateComponentTreeUI(frame); } catch (Exception ex) { // Ignore such errors System.out.println("Cannot set LAF " + lafInfo.getName());