Yes, sorry. I meant the case I've mentioned in my first comment : when the component has no frame.

parentComponent determines the <code>Frame</code> * in which the dialog is displayed; if <code>null</code>, * *_or if the _**_<code>_**_parentComponent_**_</code> _**_has no _**_* _**_<code>_**_Frame_**_</code>_**_***_*, a default <code>Frame</code> is used


--Semyon

On 05/15/2017 10:44 PM, Prasanta Sadhukhan wrote:

Not sure which testcase you are running. I do not see this exception when I run my testcase in the webrev.

I am using createDialog in the fix for null parentComponent and not createInternalFrame() which throws this exception.

Regards
Prasanta
On 5/15/2017 11:04 PM, Semyon Sadetsky wrote:

I don't see how this change fixes the issue.

I still got

Exception in thread "main" java.lang.RuntimeException: JOptionPane: parentComponent does not have a valid parent

after applying it.

--Semyon


On 05/15/2017 03:14 AM, Prasanta Sadhukhan wrote:

Updated webrev to use getRootFrame() via createDialog() to get the default Frame when a frame is not provided.

http://cr.openjdk.java.net/~psadhukhan/7042497/webrev.01/

Regards
Prasanta
On 5/12/2017 8:08 PM, Semyon Sadetsky wrote:

Also the spec says to use the default frame but the fix creates new frame each time.


On 05/12/2017 07:32 AM, Semyon Sadetsky wrote:

The fix covers the parentComponent=null case.

What about the second case when non-null component is provided but it has no frame?

--Semyon


On 05/12/2017 12:51 AM, Prasanta Sadhukhan wrote:

Hi All,

Please review a spec violation issue whereby if in JOptionPane.showInternalConfirmDialog(Component parentComponent, Object message) "parentComponent" is null, we are getting RuntimeException "parentComponent does not have a valid parent"

but as per spec, https://docs.oracle.com/javase/8/docs/api/index.html?javax/swing/JOptionPane.html it says "|parentComponent| - determines the |Frame| in which the dialog is displayed; if |null|, or if the |parentComponent| has no |Frame|, a default |Frame| is used"

This violation exists for all overridden showInternalConfirmDialog methods and showInternalOptionDialog.

The proposed fix creates a default JFrame and shows the confirm dialog in it, as stated in the spec.

Bug: https://bugs.openjdk.java.net/browse/JDK-7042497
webrev: http://cr.openjdk.java.net/~psadhukhan/7042497/webrev.00/

Regards
Prasanta






Reply via email to