On Fri, Mar 04, 2005 at 01:57:53AM +0100, Robert Schuster wrote:
> Hi list,
> I just found out the following & got a headache from it:
> 
> GNU Classpath's JDialog rejects illegal values given to the method 
> setDefaultCloseOperation() with a IllegalArgumentException. This is good for 
> robustness but 
> it is not what the official implementation does :-(
> 
> The official JDialog takes any argument (whether legal or not) and does not 
> complain. That means for any int value n, after the call to 
> dialog.setDefaultCloseOperation(n) the result of the corresponding getter is 
> n.
> 
> The behavior when you actually press the close button is as if you had set 
> the operation to DO_NOTHING_ON_CLOSE. Btw. the default value for 
> getDefaultCloseOperation() is HIDE_ON_CLOSE (this is documented at least).
> 
> Eg. if you have a JDialog and set it's default close operation to 
> JDialog.EXIT_ON_CLOSE getDefaultCloseOperation() will return exactly this 
> value but does not 
> act in this way.
> 
> Now, I have two questions:
> 1) Who codes such crap and are we really really forced to adopt this? (I 
> propose setting the value to DO_NOTHING_ON_CLOSE if the argument is invalid. )
 
We should change the current behaviour only when real world applications
fail to execute.

> 2) How could I test in mauve whether pressing the close button of a JDialog 
> has no effect?

You can use the hava.awt.Robot feature to press the buttun in a (GUI)
mauve test. There are already some examples in mauve that use this
feature.


Michael
-- 
Java Trap: http://www.gnu.org/philosophy/java-trap.html


_______________________________________________
Classpath mailing list
Classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath

Reply via email to