mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 12:09:14 +00:00
8352908: Open source several swing tests batch1
Reviewed-by: honkar
This commit is contained in:
parent
513c4650c5
commit
a2dc9c71e4
77
test/jdk/javax/swing/JSplitPane/bug4749792.java
Normal file
77
test/jdk/javax/swing/JSplitPane/bug4749792.java
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 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 4749792
|
||||
* @requires (os.family == "windows")
|
||||
* @summary Split pane border is not painted properly
|
||||
* @library /java/awt/regtesthelpers
|
||||
* @build PassFailJFrame
|
||||
* @run main/manual bug4749792
|
||||
*/
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JSplitPane;
|
||||
|
||||
public class bug4749792 {
|
||||
static final String INSTRUCTIONS = """
|
||||
If the right/bottom edges of JSplitPane's border is missing then the
|
||||
test fails. If it is visible, then the test passes.
|
||||
""";
|
||||
|
||||
static JFrame createUI() {
|
||||
JFrame frame = new JFrame("JSplitPane Border Test");
|
||||
frame.setSize(450, 220);
|
||||
JPanel left = new JPanel();
|
||||
JPanel right = new JPanel();
|
||||
left.setPreferredSize(new Dimension(200, 200));
|
||||
right.setPreferredSize(new Dimension(200, 200));
|
||||
JSplitPane sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left, right);
|
||||
frame.add(sp);
|
||||
|
||||
JPanel south = new JPanel();
|
||||
south.setPreferredSize(new Dimension(20, 20));
|
||||
frame.add(south, BorderLayout.SOUTH);
|
||||
|
||||
JPanel east = new JPanel();
|
||||
east.setPreferredSize(new Dimension(20, 20));
|
||||
frame.add(east, BorderLayout.EAST);
|
||||
|
||||
return frame;
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
PassFailJFrame.builder()
|
||||
.title("bug4749792 Test Instructions")
|
||||
.instructions(INSTRUCTIONS)
|
||||
.columns(40)
|
||||
.testUI(bug4749792::createUI)
|
||||
.build()
|
||||
.awaitAndCheck();
|
||||
}
|
||||
}
|
||||
70
test/jdk/javax/swing/JToolBar/bug4188825.java
Normal file
70
test/jdk/javax/swing/JToolBar/bug4188825.java
Normal file
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* 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 4188825
|
||||
* @summary Tests if toolbars return to original location when closed
|
||||
* @library /java/awt/regtesthelpers
|
||||
* @build PassFailJFrame
|
||||
* @run main/manual bug4188825
|
||||
*/
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JToolBar;
|
||||
|
||||
public class bug4188825 {
|
||||
static final String INSTRUCTIONS = """
|
||||
Drag the toolbar out of frame and close it. If it returns to
|
||||
the original location, then the test succeeded, otherwise it failed.
|
||||
""";
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
PassFailJFrame.builder()
|
||||
.title("bug4188825 Test Instructions")
|
||||
.instructions(INSTRUCTIONS)
|
||||
.columns(40)
|
||||
.testUI(bug4188825::createUI)
|
||||
.build()
|
||||
.awaitAndCheck();
|
||||
}
|
||||
|
||||
static JFrame createUI() {
|
||||
JFrame frame = new JFrame("Toolbar Drag Test");
|
||||
frame.setLayout(new BorderLayout());
|
||||
JToolBar tb = new JToolBar();
|
||||
tb.setOrientation(JToolBar.VERTICAL);
|
||||
tb.add(new JButton("a"));
|
||||
tb.add(new JButton("b"));
|
||||
tb.add(new JButton("c"));
|
||||
frame.add(tb, BorderLayout.WEST);
|
||||
JButton l = new JButton("Get me!!!");
|
||||
l.setSize(200, 200);
|
||||
frame.add(l);
|
||||
frame.setSize(200, 200);
|
||||
return frame;
|
||||
}
|
||||
}
|
||||
93
test/jdk/javax/swing/JToolBar/bug4251592.java
Normal file
93
test/jdk/javax/swing/JToolBar/bug4251592.java
Normal file
@ -0,0 +1,93 @@
|
||||
/*
|
||||
* 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 4251592
|
||||
* @summary JToolBar should have ability to set custom layout.
|
||||
* @key headful
|
||||
* @run main bug4251592
|
||||
*/
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.Point;
|
||||
import java.awt.Robot;
|
||||
import java.awt.event.InputEvent;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JToolBar;
|
||||
import javax.swing.SwingUtilities;
|
||||
|
||||
public class bug4251592 {
|
||||
private static final int OFFSET = 3;
|
||||
private static volatile Point loc;
|
||||
private static JFrame frame;
|
||||
private static JToolBar toolBar;
|
||||
private static GridLayout customLayout;
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
Robot robot = new Robot();
|
||||
robot.setAutoDelay(100);
|
||||
try {
|
||||
SwingUtilities.invokeAndWait(() -> {
|
||||
frame = new JFrame("Toolbar Layout Save Test");
|
||||
toolBar = new JToolBar();
|
||||
customLayout = new GridLayout();
|
||||
frame.setLayout(new BorderLayout());
|
||||
frame.add(toolBar, BorderLayout.NORTH);
|
||||
|
||||
toolBar.setLayout(customLayout);
|
||||
toolBar.add(new JButton("Button1"));
|
||||
toolBar.add(new JButton("Button2"));
|
||||
toolBar.add(new JButton("Button3"));
|
||||
toolBar.setFloatable(true);
|
||||
|
||||
frame.setSize(200, 200);
|
||||
frame.setLocationRelativeTo(null);
|
||||
frame.setVisible(true);
|
||||
});
|
||||
|
||||
robot.waitForIdle();
|
||||
robot.delay(1000);
|
||||
|
||||
SwingUtilities.invokeAndWait(() -> loc = toolBar.getLocationOnScreen());
|
||||
|
||||
robot.mouseMove(loc.x + OFFSET, loc.y + OFFSET);
|
||||
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
|
||||
robot.mouseMove(loc.x + OFFSET, loc.y + 50);
|
||||
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
|
||||
|
||||
if (toolBar.getLayout() != customLayout) {
|
||||
throw new RuntimeException("Custom layout not saved...");
|
||||
}
|
||||
} finally {
|
||||
SwingUtilities.invokeAndWait(() -> {
|
||||
if (frame != null) {
|
||||
frame.dispose();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
113
test/jdk/javax/swing/JToolBar/bug5035668.java
Normal file
113
test/jdk/javax/swing/JToolBar/bug5035668.java
Normal file
@ -0,0 +1,113 @@
|
||||
/*
|
||||
* 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 5035668
|
||||
* @summary Test that metal ToolBar border correctly sizes the MetalBumps used
|
||||
* for the grip
|
||||
* @library /java/awt/regtesthelpers
|
||||
* @build PassFailJFrame
|
||||
* @run main/manual bug5035668
|
||||
*/
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.ComponentOrientation;
|
||||
import java.awt.GridLayout;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JToolBar;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.border.CompoundBorder;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
public class bug5035668 {
|
||||
static final String INSTRUCTIONS = """
|
||||
This test is for Metal LaF only.
|
||||
|
||||
All of them have an empty border around their own border.
|
||||
If you see that in any toolbar the grip (little dotted strip) overlaps
|
||||
the empty border press Fail. If you see that grips are completely
|
||||
inside empty borders press Pass.
|
||||
""";
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
// Set metal l&f
|
||||
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
|
||||
PassFailJFrame.builder()
|
||||
.title("bug4251592 Test Instructions")
|
||||
.instructions(INSTRUCTIONS)
|
||||
.columns(40)
|
||||
.testUI(bug5035668::createUI)
|
||||
.build()
|
||||
.awaitAndCheck();
|
||||
}
|
||||
|
||||
static JFrame createUI() {
|
||||
JFrame frame = new JFrame("Metal JToolBar Border Overlap Test");
|
||||
frame.setLayout(new BorderLayout());
|
||||
frame.setBackground(Color.white);
|
||||
|
||||
// Horizontal toolbar left-to-right
|
||||
final JToolBar toolBar = new JToolBar();
|
||||
toolBar.setBorder(new CompoundBorder(new EmptyBorder(10, 10, 10, 10),
|
||||
toolBar.getBorder()));
|
||||
toolBar.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
|
||||
toolBar.add(new ToolBarButton(toolBar));
|
||||
|
||||
// Horizontal toolbar right-to-left
|
||||
JToolBar toolBar2 = new JToolBar();
|
||||
toolBar2.setBorder(new CompoundBorder(new EmptyBorder(10, 10, 10, 10),
|
||||
toolBar2.getBorder()));
|
||||
toolBar2.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
|
||||
toolBar2.add(new ToolBarButton(toolBar2));
|
||||
|
||||
JPanel topPanel = new JPanel(new GridLayout(2, 0));
|
||||
topPanel.add(toolBar);
|
||||
topPanel.add(toolBar2);
|
||||
frame.add(topPanel, BorderLayout.NORTH);
|
||||
|
||||
JToolBar toolBar3 = new JToolBar();
|
||||
toolBar3.setBorder(new CompoundBorder(new EmptyBorder(10, 10, 10, 10),
|
||||
toolBar3.getBorder()));
|
||||
toolBar3.setOrientation(JToolBar.VERTICAL);
|
||||
toolBar3.add(new ToolBarButton(toolBar3));
|
||||
frame.add(toolBar3, BorderLayout.EAST);
|
||||
|
||||
frame.setSize(200, 200);
|
||||
return frame;
|
||||
}
|
||||
|
||||
static class ToolBarButton extends JButton {
|
||||
final JToolBar toolBar;
|
||||
|
||||
public ToolBarButton(JToolBar p_toolBar) {
|
||||
super("Change toolbar's orientation");
|
||||
this.toolBar = p_toolBar;
|
||||
addActionListener(e -> toolBar.setOrientation(1 - toolBar.getOrientation()));
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user