diff --git a/jdk/src/share/classes/javax/swing/BorderFactory.java b/jdk/src/share/classes/javax/swing/BorderFactory.java index a13dc1bcf84..33b1b0024d9 100644 --- a/jdk/src/share/classes/javax/swing/BorderFactory.java +++ b/jdk/src/share/classes/javax/swing/BorderFactory.java @@ -371,7 +371,7 @@ public class BorderFactory /** * Creates a new titled border with the specified title, * the default border type (determined by the current look and feel), - * the default text position (sitting on the top line), + * the default text position (determined by the current look and feel), * the default justification (leading), and the default * font and text color (determined by the current look and feel). * @@ -385,7 +385,7 @@ public class BorderFactory /** * Creates a new titled border with an empty title, * the specified border object, - * the default text position (sitting on the top line), + * the default text position (determined by the current look and feel), * the default justification (leading), and the default * font and text color (determined by the current look and feel). * @@ -400,7 +400,7 @@ public class BorderFactory /** * Adds a title to an existing border, - * with default positioning (sitting on the top line), + * with default positioning (determined by the current look and feel), * default justification (leading) and the default * font and text color (determined by the current look and feel). * @@ -439,7 +439,8 @@ public class BorderFactory *
TitledBorder.ABOVE_BOTTOM
*TitledBorder.BOTTOM (sitting on the bottom line)
*TitledBorder.BELOW_BOTTOM
- *TitledBorder.DEFAULT_POSITION (top)
+ *TitledBorder.DEFAULT_POSITION (the title position
+ * is determined by the current look and feel)
*
* @return the TitledBorder object
*/
@@ -477,7 +478,8 @@ public class BorderFactory
*TitledBorder.ABOVE_BOTTOM
*TitledBorder.BOTTOM (sitting on the bottom line)
*TitledBorder.BELOW_BOTTOM
- *TitledBorder.DEFAULT_POSITION (top)
+ *TitledBorder.DEFAULT_POSITION (the title position
+ * is determined by the current look and feel)
*
* @param titleFont a Font object specifying the title font
* @return the TitledBorder object
@@ -516,7 +518,8 @@ public class BorderFactory
*TitledBorder.ABOVE_BOTTOM
*TitledBorder.BOTTOM (sitting on the bottom line)
*TitledBorder.BELOW_BOTTOM
- *TitledBorder.DEFAULT_POSITION (top)
+ *TitledBorder.DEFAULT_POSITION (the title position
+ * is determined by the current look and feel)
*
* @param titleFont a Font object specifying the title font
* @param titleColor a Color object specifying the title color
diff --git a/jdk/test/javax/swing/border/Test7149090.java b/jdk/test/javax/swing/border/Test7149090.java
new file mode 100644
index 00000000000..f93dc8ecd2e
--- /dev/null
+++ b/jdk/test/javax/swing/border/Test7149090.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2012, 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 7149090
+ @summary Nimbus:BorderFactory.createTitledBorder() the DEFAULT position of a title is not the same as the TOP
+ @author Pavel Porvatov
+*/
+
+import javax.swing.*;
+import javax.swing.border.EmptyBorder;
+import javax.swing.border.TitledBorder;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+public class Test7149090 {
+ private static final Object[][] DEFAULT_TITLE_POSITIONS = {
+ {"Metal", TitledBorder.TOP},
+ {"Motif", TitledBorder.TOP},
+ {"Windows", TitledBorder.TOP},
+ {"Nimbus", TitledBorder.ABOVE_TOP},
+ };
+
+ public static void main(String[] args) throws Exception {
+ for (UIManager.LookAndFeelInfo lookAndFeel : UIManager.getInstalledLookAndFeels()) {
+ for (Object[] defaultTitlePosition : DEFAULT_TITLE_POSITIONS) {
+ if (defaultTitlePosition[0].equals(lookAndFeel.getName())) {
+ UIManager.setLookAndFeel(lookAndFeel.getClassName());
+
+ final int expectedPosition = (Integer) defaultTitlePosition[1];
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ List