Ok speravo che fosse un semplice accorgimento

codice:
	public void addFrame(JInternalFrame frame){
		lastsel = desktopPane2.getSelectedFrame();
		if(x_iframe > 3*desktopPane2.getWidth()/5) x_iframe = 0;
		if(y_iframe > desktopPane2.getHeight()/3) y_iframe = 0;
		frame.setBounds(x_iframe, y_iframe, frame.getWidth(), frame.getHeight());
		desktopPane2.add(frame,JLayeredPane.DEFAULT_LAYER);
		desktopPane2.setSelectedFrame(frame);
		frame.toFront();
		x_iframe+=5;
		y_iframe+=10;
		for(int i = 0; i < desktopPane2.getAllFrames().length-1; i++){
			System.out.println(desktopPane2.getAllFrames()[i].getName());
			desktopPane2.getAllFrames()[i].toBack();
			desktopPane2.getAllFrames()[i].setMaximizable(true);
		}
		desktopPane2.getAllFrames()[desktopPane2.getAllFrames().length-1].toFront();
	}