java - JLayeredPane z-order issue -


while using jlayeredpane add compnents in z-order, noticed issue:

jlayeredpane lp = getlayeredpane();  jbutton top = new jbutton(); ... jbutton middle = new jbutton(); ... jbutton bottom = new jbutton(); ... 

works bad:

lp.add(top,2); lp.add(middle,1); lp.add(bottom,3); 

works good:

lp.add(top,new integer(2)); lp.add(middle,new integer(1)); lp.add(bottom,new integer(3)); 

here can see how looks: http://i.imgur.com/eqh2el8.png

why literal constant not converted integer object, , not work properly?

in essence because class inherits (container) has function add component @ given position in it's list of components (add(component comp, int layer)), function add component given argument (to passed layoutmanager) (add(component comp, object constraint)).

in order right function called (and jlayeredpane's layoutmanager receive constraint) argumentmust object integer , not primitive int.


Comments