diff --git a/src/share/classes/java/awt/Dialog.java b/src/share/classes/java/awt/Dialog.java index 36a3502e3ba16e9863f67b265cf55dc526e23dfd..b408148b1cb8b410533ad70047122443c71ebd36 100644 --- a/src/share/classes/java/awt/Dialog.java +++ b/src/share/classes/java/awt/Dialog.java @@ -565,7 +565,7 @@ public class Dialog extends Window { * @since 1.6 */ public Dialog(Window owner) { - this(owner, null, ModalityType.MODELESS); + this(owner, "", ModalityType.MODELESS); } /** @@ -624,7 +624,7 @@ public class Dialog extends Window { * @since 1.6 */ public Dialog(Window owner, ModalityType modalityType) { - this(owner, null, modalityType); + this(owner, "", modalityType); } /** diff --git a/src/share/classes/javax/swing/JDialog.java b/src/share/classes/javax/swing/JDialog.java index 89e764d36578b5f6ebc4bd93520036baf5f5311b..a4e35b66351b38b86343b88da34c44b001aaa9f7 100644 --- a/src/share/classes/javax/swing/JDialog.java +++ b/src/share/classes/javax/swing/JDialog.java @@ -154,8 +154,8 @@ public class JDialog extends Dialog implements WindowConstants, } /** - * Creates a modeless dialog without a title with the - * specified {@code Frame} as its owner. If {@code owner} + * Creates a modeless dialog with the specified {@code Frame} + * as its owner and an empty title. If {@code owner} * is {@code null}, a shared, hidden frame will be set as the * owner of the dialog. *
@@ -179,8 +179,8 @@ public class JDialog extends Dialog implements WindowConstants, } /** - * Creates a dialog with the specified owner {@code Frame}, modality - * and an empty title. If {@code owner} is {@code null}, + * Creates a dialog with an empty title and the specified modality and + * {@code Frame} as its owner. If {@code owner} is {@code null}, * a shared, hidden frame will be set as the owner of the dialog. *
* This constructor sets the component's locale property to the value @@ -202,7 +202,7 @@ public class JDialog extends Dialog implements WindowConstants, * @see JComponent#getDefaultLocale */ public JDialog(Frame owner, boolean modal) { - this(owner, null, modal); + this(owner, "", modal); } /** @@ -330,8 +330,8 @@ public class JDialog extends Dialog implements WindowConstants, } /** - * Creates a modeless dialog without a title with the - * specified {@code Dialog} as its owner. + * Creates a modeless dialog with the specified {@code Dialog} + * as its owner and an empty title. *
* This constructor sets the component's locale property to the value * returned by {@code JComponent.getDefaultLocale}. @@ -348,7 +348,8 @@ public class JDialog extends Dialog implements WindowConstants, } /** - * Creates a dialog with the specified owner {@code Dialog} and modality. + * Creates a dialog with an empty title and the specified modality and + * {@code Dialog} as its owner. *
* This constructor sets the component's locale property to the value * returned by {@code JComponent.getDefaultLocale}. @@ -369,7 +370,7 @@ public class JDialog extends Dialog implements WindowConstants, * @see JComponent#getDefaultLocale */ public JDialog(Dialog owner, boolean modal) { - this(owner, null, modal); + this(owner, "", modal); } /** @@ -461,8 +462,8 @@ public class JDialog extends Dialog implements WindowConstants, } /** - * Creates a modeless dialog with the specified owner {@code Window} and - * an empty title. + * Creates a modeless dialog with the specified {@code Window} + * as its owner and an empty title. *
* This constructor sets the component's locale property to the value * returned by {@code JComponent.getDefaultLocale}. @@ -488,8 +489,8 @@ public class JDialog extends Dialog implements WindowConstants, } /** - * Creates a dialog with the specified owner {@code Window}, modality - * and an empty title. + * Creates a dialog with an empty title and the specified modality and + * {@code Window} as its owner. *
* This constructor sets the component's locale property to the value * returned by {@code JComponent.getDefaultLocale}. @@ -520,7 +521,7 @@ public class JDialog extends Dialog implements WindowConstants, * @since 1.6 */ public JDialog(Window owner, ModalityType modalityType) { - this(owner, null, modalityType); + this(owner, "", modalityType); } /** diff --git a/test/javax/swing/JDialog/6639507/bug6639507.java b/test/javax/swing/JDialog/6639507/bug6639507.java new file mode 100644 index 0000000000000000000000000000000000000000..13d1915a3b7b293ea9a9d358c5d3ff9e69c8cacf --- /dev/null +++ b/test/javax/swing/JDialog/6639507/bug6639507.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2010, 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 6639507 + @summary Title of javax.swing.JDialog is null while spec says it's empty + @author Pavel Porvatov +*/ +import javax.swing.*; +import java.awt.*; + +public class bug6639507 { + public static void main(String[] args) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + assertEmptyTitle(new Dialog((Frame) null), "new Dialog((Frame) null)"); + assertEmptyTitle(new Dialog((Frame) null, true), "new Dialog((Frame) null, true)"); + assertEmptyTitle(new Dialog((Dialog) null), "new Dialog((Dialog) null)"); + assertEmptyTitle(new Dialog((Window) null), "new Dialog((Window) null)"); + assertEmptyTitle(new Dialog(new Dialog((Window) null), Dialog.ModalityType.APPLICATION_MODAL), + "new Dialog((Window) null), Dialog.ModalityType.APPLICATION_MODAL"); + + assertEmptyTitle(new JDialog((Frame) null), "new JDialog((Frame) null)"); + assertEmptyTitle(new JDialog((Frame) null, true), "new JDialog((Frame) null, true)"); + assertEmptyTitle(new JDialog((Dialog) null), "new JDialog((Dialog) null)"); + assertEmptyTitle(new JDialog((Dialog) null, true), "new JDialog((Dialog) null, true)"); + assertEmptyTitle(new JDialog((Window) null), "new JDialog((Window) null)"); + assertEmptyTitle(new JDialog((Window) null, Dialog.ModalityType.APPLICATION_MODAL), + "new JDialog((Window) null, Dialog.ModalityType.APPLICATION_MODAL)"); + } + }); + } + + private static void assertEmptyTitle(Dialog dialog, String ctr) { + String title = dialog.getTitle(); + + if (title == null || title.length() > 0) { + throw new RuntimeException("Title is not empty for constructor " + ctr); + } + } +}