Skip to content

8327756: Convert javax/swing/JSlider/4987336/bug4987336.java applet to main #3799

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 0 additions & 32 deletions test/jdk/javax/swing/JSlider/4987336/bug4987336.html

This file was deleted.

63 changes: 49 additions & 14 deletions test/jdk/javax/swing/JSlider/4987336/bug4987336.java
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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 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();
}

public void init() {
private static JFrame createTestUI() {
frame = new JFrame("bug4987336");
JPanel pnLafs = new JPanel();
pnLafs.setLayout(new BoxLayout(pnLafs, BoxLayout.Y_AXIS));

Expand All @@ -64,7 +97,9 @@ public void init() {
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,
Expand Down Expand Up @@ -99,7 +134,7 @@ private static JLabel createLabel(String enabledImage, String disabledImage) {
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()));

Expand All @@ -108,7 +143,7 @@ public void actionPerformed(ActionEvent e) {
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());
Expand Down